Я использую оболочку bash в Linux и хочу использовать более 10 параметров в сценарии оболочки
Я использую оболочку bash в Linux и хочу использовать более 10 параметров в сценарии оболочки
Ответы:
Используйте фигурные скобки, чтобы выделить их:
echo "${10}"
Вы также можете перебирать позиционные параметры следующим образом:
for arg
или
for arg in "$@"
или
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
определяется POSIX
${10}
работе необходимо только при использовании очень старых реализаций, которые не соответствуют стандартам. Вероятно, представляет только исторический интерес ... и все же я еще никогда не использовал его! Я полагаю, потому что лучшая практика диктует, что 10 аргументов - это слишком много, если они не повторяются, и в этом случае вы будете перебирать их, "$@"
а не перечислять их.
Вы можете иметь до 256 параметров от 0 до 255 с:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
или--foo=bar
). См.man getopt
,man getopts
Иman bash
некоторые варианты для этого.