3

シェルスクリプトを学んでいるのですが、これは私を苛立たせています。実際に${}が何をするのかわからないのです。

私はグーグルで${}が置換に使用されていることを知りました

しかし、私が理解できないことはここにあります

$ {}が置換を行うと想定されている場合、

distro=("redhat" "debian" "gentoo")

echo ${distro[0]}
echo ${distro[2]}

echo ${#distro[@]} 

置換がないのに、どうして上記のコードを実行するのですか。

私はこれについて間違っています

4

1 に答える 1

4

man bash、で検索し${、数回/\${押しnて出来上がり。

配列の任意の要素は、${name[subscript]}を使用して参照できます。

$ {#name[subscript]}は${name[subscript]}の長さに拡張されます。下付き文字が*または@の場合、展開は配列内の要素の数です。

前の段落を確認すると、次のこともわかります。

配列は、name =(value1 ... valuen)の形式の複合割り当てを使用して割り当てられます。ここで、各値は[subscript]=stringの形式です。インデックス付き配列の割り当てには、角かっこと下付き文字は必要ありません。

于 2012-05-29T07:12:23.110 に答える