1

これはばかげた質問のように思えるかもしれませんが、私は解決策を高くも低くも探しましたが、解決策は思いつきませんでした。いくつかの引数を受け入れるスクリプトがあり、1 つの引数を使用して次の直接の引数にアクセスする方法を知りたいだけです。私は$i+1役に立たないようなものを試しました。この次の引数は宛先ディレクトリを保持することになるため、コンテンツにアクセスできる必要があります。また、ループで繰り返されるカウンター変数を介して引数の位置を取得していることにも注意してください。これが、単純に$2何かを言うことができない理由です。当たり前のような質問で申し訳ありません。

4

3 に答える 3

4
$ bash -c 'foo=1 ; echo ${@:$((foo+2)):1}' a b c d e f g
d
于 2012-04-15T00:11:56.633 に答える
2

i が整数を含む変数で、(i+1) 番目の引数が必要な場合は、次のようにします。

eval arg=\$$(( i + 1 ))

arg には、必要な引数が含まれています

于 2012-04-15T00:10:48.090 に答える
0

あなたの場合には当てはまらないかもしれませんが、引数に順番にアクセスしている場合は、組み込みshiftコマンドを使用して引数をシフトできます。

shift引数なしで行うと、 、 などに設定$1され$2、の古い値が破棄されます。に数値引数を与えると、その数のステップがシフトします。$2$3$1shift

于 2012-04-15T00:31:18.910 に答える