Вы также можете ссылаться на аргументы в $@
, что-то вроде массива. Это один, но вы не можете использовать индексы массива. Однако вы можете использовать нарезку массива:
echo ${@:3:1} # $@ is ONE-based
будет echo
третий аргумент.
echo ${@:4:3}
будет echo
четвертый, пятый и шестой аргументы.
Кстати, «подписками» $@
являются $1
, $2
... $#
Последний, $#
, является количеством аргументов. $0
имеет особую роль. Он содержит имя и путь к сценарию.
Вы также можете назначить все это (или даже его части) массиву, с которым вы можете использовать подписку.
some_array=("$@")
echo ${some_array[3]} # the fourth element (ZERO based)
echo ${some_array[3]:4:3} # 5th, 6th and 7th chars of the fourth element
echo ${some_array[@]:4:3} # 5th, 6th and 7th ELEMENTS
echo ${some_array[@]: -1} # the last element (notice the space)