Как найти последний позиционный параметр в Linux

Я ищу, чтобы найти последний позиционный параметр. Я знаю, чтобы найти количество параметров: $#, который логически является последним, но мне нужно найти и использовать то, что находится в последнем параметре позиции.

Было бы так, как если бы $# = 5, я хочу сделать $5.

Я пытался сделать что-то вроде $$ # или ${$ #} как догадки, но не могу получить его.

Экземпляры, где мне нужно будет использовать его, находятся в инструкции if или объявляют его другой переменной или с эхом.

Надеюсь, это понятно. Спасибо заранее.

Ответ 1

Вы хотите ${!#}, который объединяет счетчик аргументов с косвенностью.

Ответ 2

Вот еще один способ:

while [[ "$1" != "" ]];do
    last_parm=$1
    shift
done
echo $last_parm

Дайте тест:

$ ./test.sh 1 2 3 4 5
5

Ответ 3

Это похоже на более прямой подход:

${@: -1}

Дополнительная информация здесь. Я не уверен в переносимости за пределами Bash.