この質問は シェルはセットをサポートしますか? と同じではありません
python、python、Ruby、javascriptなどのスクリプト言語サポートリストの構造をたくさん知っているので、Linuxシェルについてはどうですか?
シェルはそのような構文をサポートしていますか?
for i in list:
do
print i
done
私は最初にリストを初期化します、例えば:
ListName = [ item1, item2, ..., itemn ]
それから繰り返します
シェルスクリプトのプログラミング時にそれは可能ですか?
リストをサポートしていますが、個別のデータ構造としてはサポートしていません(現時点では配列を無視します)。
for
ループは、そのリストの作成方法にかかわらず、文字通りかどうかにかかわらず、空白で区切られた値のリスト(一般的な意味で)を反復処理します。
for i in 1 2 3; do
echo "$i"
done
またはパラメータ展開を介して:
listVar="1 2 3"
for i in $listVar; do
echo "$i"
done
またはコマンド置換:
for i in $(echo 1; echo 2; echo 3); do
echo "$i"
done
配列は、より構造化された値のリストを含むことができる特別なパラメーターであり、各要素自体に空白を含めることができます。違いを比較します。
array=("item 1" "item 2" "item 3")
for i in "${array[@]}"; do # The quotes are necessary here
echo "$i"
done
list='"item 1" "item 2" "item 3"'
for i in $list; do
echo $i
done
for i in "$list"; do
echo $i
done
for i in ${array[@]}; do
echo $i
done
リストを作成するには、単にそれを行う
colors=(red orange white "light gray")
技術的には配列ですが、もちろん-すべてのリスト機能があります。
配列pythonリストでも実装されています