Ich verwende die Bash-Shell unter Linux und möchte mehr als 10 Parameter im Shell-Skript verwenden
Ich verwende die Bash-Shell unter Linux und möchte mehr als 10 Parameter im Shell-Skript verwenden
Antworten:
Verwenden Sie geschweifte Klammern, um sie hervorzuheben:
echo "${10}"
Sie können die Positionsparameter auch folgendermaßen durchlaufen:
for arg
oder
for arg in "$@"
oder
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
wird von POSIX
${10}
Arbeit sind nur erforderlich, wenn sehr alte Implementierungen verwendet werden, die nicht dem Standard entsprechen. Wahrscheinlich nur von historischem Interesse ... und doch habe ich es noch nie benutzt! Ich nehme an, weil die Best Practice vorschreibt, dass 10 Argumente viel zu viele sind, wenn sie nicht wiederholt werden. In diesem Fall werden Sie sie durchlaufen, "$@"
anstatt sie aufzuzählen.
Sie können bis zu 256 Parameter von 0 bis 255 haben mit:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
oder--foo=bar
) zu verwenden. Sieheman getopt
,man getopts
undman bash
für einige Optionen, um dies zu tun.