BASH-скрипты: n-й параметр $@, когда индекс является переменной?

Я хочу получить n-й параметр $@ (список параметров командной строки, передаваемых сценарию), где n хранится в переменной.

Я попробовал ${$n}.

Например, я хочу получить второй параметр командной строки вызова:

./my_script.sh alpha beta gamma

И индекс не должен быть явным, а храниться в переменной n.

Исходный код:

n=2
echo ${$n}

Я ожидал, что вывод будет "бета", но я получаю сообщение об ошибке:

./my_script.sh: line 2: ${$n}: bad substitution

Что я делаю неправильно?

12
задан Jens 25 May 2012 в 07:18
поделиться