Linuxでbashシェルを使用していて、シェルスクリプトで10個を超えるパラメーターを使用したい
Linuxでbashシェルを使用していて、シェルスクリプトで10個を超えるパラメーターを使用したい
回答:
中括弧を使用してそれらをオフに設定します。
echo "${10}"
次のように、位置パラメータを反復することもできます。
for arg
または
for arg in "$@"
または
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
はPOSIXによって
${10}
必要があるのは、標準に準拠していない非常に古い実装を使用している場合のみです。たぶん歴史的関心があるだけでしょう...それでも私はこれを使用したことがありません!ベストプラクティスでは、繰り返されない限り10個の引数は多すぎると規定されているため"$@"
、列挙するのではなく反復することになります。
次のようにして、0から255までの最大256個のパラメーターを設定できます。
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
またはまたは--foo=bar
)を使用する方が良いでしょう。参照してくださいman getopt
、man getopts
と、man bash
それを行うためのいくつかのオプションのために。