1

zshを使用すると、5番目の引数を簡単に取得できます$5。しかし5、変数の場合はどうでしょうか。私は、インデックスを作成することによって最初の5つの引数を出力するこの方法を思いつきました(単にではなくecho $1 $2 $3 $4 $5):

for i in {1..5}
do
  echo $(eval echo "\$$i")
done

しかし、確かにもっと良い方法があるに違いありませんか?


すべての引数をループするもっと簡単な方法があることを私は知っています。私の特定のケースでは、引数リストを逆方向にループしたいと思います。それを手伝っていただければ幸いです。

4

2 に答える 2

3

位置パラメーターを反復処理するには、forループを使用します。

for x; do echo $x; done

それらを逆に繰り返すには:

for x in "${(Oa)@}"; do echo $x ; done

パラメータを逆にするには:

set "${(Oa)@}"
于 2012-10-08T12:52:47.200 に答える
0

zsh(およびzshのみ、明らかに)では、@は配列です。実際には、次のように使用できます。

for i in {1..5}
do
  echo $@[i]
done

逆方向にループすることに関しては、私はあなたが組み合わせることができると思いますがfor i in {$#..1}$@[i]より良い方法があるかもしれません。

于 2012-10-07T21:42:07.897 に答える