2011-07-07 24 views
1

私は10の引数を送信するBashスクリプトを持っています。Bashスクリプトに引数が多すぎますか?

私はecho $10などの10番目の引数にアクセスしようとしています。

代わりに、最初の引数にゼロが追加されています。

私は第10引数にどのようにアクセスできますか?

+0

一般に、より多くの2-3の引数を使用する場合は、固定引数の位置を使用してコードを読みやすくし、フラグだけを記憶するのではなく、フラグのオプションを使用するとよいでしょう(./script - xxx〜yyy -num zzz ...)。これにはいくつかのオープンソースライブラリが用意されています。彼らの大部分はbashの "shift"コマンドを使って反復処理を行うので、引数が数十もあっても通常は$ 3以上を使用しません。 – XzKto

答えて

10

$10の代わりに${10}を使用してください。あなたは一見任意の数の引数のためにこれを使うことができます。私は${100}まで正常にテストしました。

+1

これを試してみてください: 'bash -c" echo \ $ {7854} "$(seq 10 10000)'。 – Lynch

+2

制限を探しに行かないでください:[あなたは長い時間忙しいでしょう](http://stackoverflow.com/questions/4185017/maximum-number-of-bash-arguments-max-num-cp-arguments ) – sehe

関連する問題