Подтвердить что ты не робот

Как получить n-й позиционный аргумент в bash?

Как получить n й позиционный аргумент в Bash, где n - переменная?

4b9b3361

Ответ 1

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

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

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

$ ./ind apple banana cantaloupe dates

Выдает:

cantaloupe

Изменить:

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

echo ${@:$n:1}

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

echo ${@[n]}  #  WON'T WORK

Ответ 2

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

eval echo \${$N}

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

echo ${12}

так

echo $12

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

Ответ 3

$1 $2 ... $n

$0 содержит имя script.

Ответ 4

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

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