Как получить энный позиционный параметр в ударе?

Можно вывести отдельные таблицы с mysqldump путем выполнения mysqldump database table1 table2 ... tableN

, Если ни одна из таблиц не является слишком большой, который будет достаточно. Иначе необходимо будет начать разделять данные в больших таблицах.

69
задан Gaurang Tandon 13 January 2019 в 04:27
поделиться

5 ответов

Используйте функцию косвенного обращения Bash:

#!/bin/bash
n=3
echo ${!n}

Запуск этого файла:

$ ./ind apple banana cantaloupe dates

Производит:

cantaloupe

Редактировать:

Вы также можете выполнять нарезку массива:

echo ${@:$n:1}

, но не индексы массива:

echo ${@[n]}  #  WON'T WORK
99
ответ дан 24 November 2019 в 13:51
поделиться

Если N сохранено в переменной, используйте

eval echo \${$N}

, если это постоянное использование

echo ${12}

, поскольку

echo $12

не означает то же самое!

12
ответ дан 24 November 2019 в 13:51
поделиться

Как видно из Bash by Example , вам просто нужно использовать автоматические переменные $ 1, $ 2 и т. Д.

$ # используется для получить количество аргументов.

-1
ответ дан 24 November 2019 в 13:51
поделиться
$1 $2 ... $n

$ 0 содержит имя сценария.

6
ответ дан 24 November 2019 в 13:51
поделиться

Чтение

Обработка позиционных параметров

и

Расширение параметров

$ 0: первый позиционный параметр

$ 1 ... $ 9: элементы списка аргументов от 1 до 9

-2
ответ дан 24 November 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: