この簡単な方法を使用して、リスト項目のインデックスを見つけようとします。
#!/bin/sh
partList="500 1000 2000 4000"
a=( $partList )
echo ${a["500"]}
試みるSyntax error: "(" unexpected
と同じエラーが発生しますecho ${a[500]}
。0
ご使用の場合は返品してください500
。
私は次のようにリストをいつ繰り返すべきかを知るための迅速で汚い方法を探しています。
for j in $partList; do
if [ $j is the first entry in the list $partList ]; then
stuff happens..
done
done
リストの最初の要素を使用しますか?その場合は、いくつかのロジックを使用します。
リストのインデックスを利用すれば簡単にできると思います。しかし、難しいようです#!/bin/sh
。
どんな提案がありますか?
答え1
検索プロセスを逆にしました。 array[index] は何かを返します。 array [array_element]はインデックスを提供しません。ルックアップテーブルが必要です(ハッシュマップが優れています)。
しかし、あなたがやっていることは、実際にはインデックスを繰り返すだけです!j in $partList
ループを繰り返しj in $(seq ${#partlist[@]})
、インデックスを使用して要素を取得する代わりに。
最後に…必要ありません。実際に最初の要素だけを使用するのはなぜですか?
j=${partList[0]}
stuff happens..