Bashは文字列のリストを繰り返します。

Bashは文字列のリストを繰り返します。

このbashスクリプトがあります。

for opt in string1 string2 string3 ... string99
do somestuff

うまくいきますが、明示的な文字列のリストを実際に次のすべての文字列を含むファイルに置き換えたいと思います。

strings=loadFromFile
for opt in $strings
do somestuff

どうすればいいですか?

ベストアンサー1

while read VAR各入力行を処理するので、おそらくここが一番良いでしょう。次のファイルからリダイレクトできます。

while IFS= read -r THELINE; do
  echo "..$THELINE"
done </path/to/file

これにより、「..」が前に付いた各行が表示されます。

あなたのケースの場合:

while IFS= read -r opt; do
  #somestuff $opt
done </path/to/file

バラより"IFS=;"代わりに「IFS = Read」が頻繁に使用されるのはなぜですか?説明のために。

おすすめ記事