私は初めてBashに触れて、私の質問に答えるための良いチュートリアルを見つけることができません。
array=( item1 item2 item3 )
for name in ${array[@]}; do
echo current/total
... some other codes
done
期待される出力で合計値をcurrent
計算したいと思います。total
1/3
2/3
3/3
どんなヒントでもくれてありがとう。
ベストアンサー1
たとえば、次を使用して配列インデックスにアクセスし、 を使用して配列の長さ${!array[@]}
にアクセスできます。${#array[@]}
#!/bin/bash
array=( item1 item2 item3 )
for index in ${!array[@]}; do
echo $index/${#array[@]}
done
bashの配列は次のとおりです。ゼロインデックス、実際には次のようになります。
0/3
1/3
2/3
カウントを1から始めるには、に$index
置き換えます$((index+1))
。欲しいなら価値利用可能なインデックス、"${array[index]}"
つまり
#!/bin/bash
array=( item1 item2 item3 )
for index in ${!array[@]}; do
echo $((index+1))/${#array[@]} = "${array[index]}"
done
与える
1/3 = item1
2/3 = item2
3/3 = item3