Używam powłoki bash w systemie Linux i chcę użyć więcej niż 10 parametrów w skrypcie powłoki
Używam powłoki bash w systemie Linux i chcę użyć więcej niż 10 parametrów w skrypcie powłoki
Odpowiedzi:
Użyj nawiasów klamrowych, aby je podkreślić:
echo "${10}"
Możesz również iterować po parametrach pozycyjnych w następujący sposób:
for arg
lub
for arg in "$@"
lub
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}jest zdefiniowany przez POSIX
${10}pracę jest konieczne tylko w przypadku używania bardzo starych implementacji, które nie są zgodne ze standardami. Prawdopodobnie tylko o znaczeniu historycznym ... a jednak nigdy go nie użyłem! Przypuszczam, że ponieważ najlepsza praktyka mówi, że 10 argumentów to zdecydowanie za dużo, chyba że zostaną powtórzone, w takim przypadku będziesz je powtarzać, "$@"a nie wyliczać.
Możesz mieć do 256 parametrów od 0 do 255 z:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1Lub--foo=bar). Zobaczman getopt,man getoptsiman bashkilka opcji, jak to zrobić.