Bash - []演算子の非数値引数(配列)

Bash - []演算子の非数値引数(配列)

以下に小さなスクリプトがありますが、forループとifステートメントをよく理解していません。まず、スクリプトを見てみましょう。

listFieldNumbers ()
 { for ii in ${!field_number[@]}; 
do 
if [ $ii -lt $(( ${#field_number[*]}-1 )) ];
 then echo -n "$(( ${field_number[$ii]} + 1 )),"; 
else echo "$(( ${field_number[$ii]} + 1))"; 
fi; 
done; }

次の文が何を意味するのか理解していません。

  1. field_number[@]
  2. {#field_number[*]}

ベストアンサー1

field_numberは配列であり、
${!field_number[@]}配列のインデックスリストを提供し
${#field_number[*]}、 は配列の要素数です。

配列の bash チュートリアルを参照することをお勧めします。彼らと一緒に働くのは少し面倒です。

おすすめ記事