行を何度も繰り返すには、次のことができます。
yes "abc" | for i in {1..3}; do read -N 10 A; echo "for $i: $A"; done
yes は「forever」を出力しますが、1..3 の for i は「do ... done;」のみを実行します。パート3回
はい、文字列の後に「\n」を追加します。したくない場合は、次のようにします。
yes "abc" | tr -d '\n' | for i in {1..3}; do read -N 10 A; echo "for $i: $A"; done
上記のすべてで、読み取りはパイプの後にあるため、bash ではサブシェルにあることに注意してください。そのため、「$A」は「do....done;」でのみ使用できます。エリア、そして迷子になる!
ループしてファイルから読み取るには、サブシェルでは実行しません。
for i in {1..3}; do read -N 10 A ; echo "for $i: $A"; done <$(cat /the/file)
/the/file に十分なデータがあることを確認するには、次の手順を繰り返します。
for i in {1..3}; do read -N 10 A ; echo "for $i: $A"; done <$(cat /the/file /the/file /the/file)
最新のものをテストするには: echo -n "abc" > /the/file (-n であるため、trainling 改行はありません)