Как получить прямой доступ к последнему аргументу функции в золе?

Чтобы получить доступ к первому аргументу функции, я использую

func() { echo $1; }

Как получить прямой доступ к последнему аргументу функции в золе?

Я не хочу использовать ни циклы, ни функции, ни сложные команды


person MOHAMED    schedule 20.02.2015    source источник


Ответы (1)


Вы можете использовать $($#).

$# - количество аргументов (равное индексу последнего аргумента), поэтому $($#) - последний аргумент.

person sssss    schedule 20.02.2015
comment
Если вам нужно ввести 25 пробелов перед последним вопросительным знаком, это очень хороший признак того, что ваш ответ не является ответом. Используйте слова, чтобы объяснить, что вы подразумеваете под этими 4 символами. - person jbaums; 20.02.2015
comment
Объяснять особо нечего: $ # - это количество аргументов, то есть индекс последнего аргумента, поэтому $ ($ #) - последний аргумент. - person sssss; 20.02.2015
comment
Это не правильно. Круглые скобки используются для подстановки команд. Теоретически ${$#} с фигурными скобками может работать, но не без дополнительного косвенного обращения (так что в основном eval \${$#} со всеми обычными предостережениями против eval). - person tripleee; 30.04.2015