ある方法で作成すると変数を設定できますが、別の方法で作成すると変数を設定できないwhileループがあります。なぜそんなことですか? varを1234として印刷し、var2は印刷しません。
#!/bin/bash
var=1234
while var=9876 var2=765 read line
do
echo $var $var2
echo $line
done <datafile
echo out of loop $var
varを9876に印刷し、var2を印刷します。
#!/bin/bash
var=1234
while
var=9876
var2=765
read line
do
echo $var $var2
echo $line
done <datafile
echo out of loop $var
ベストアンサー1
2番目の例では、varとvar2を異なる行に配置して、コマンドを次のようにします。
while var=9876; var2=765; read line
このwhile
コマンドを使用すると、do-whileループでコマンドを実行する前にコマンドのリストを表示できます。 help while
これを見せてください:
while:同時にコマンドを実行します。 done
テストの成功中にコマンドを実行します。 COMMANDS は 'while' COMMANDS の最後のコマンド終了状態が 0
の間拡張されて実行されます。終了ステータス:最後に実行されたコマンドのステータスを返します。
一方、変数の割り当てがコマンドの前にあり(この場合read
)、割り当ての後にスペースがある場合、変数の範囲はコマンドのローカル範囲だけです! (内部)...