bashのforループでバックグラウンドジョブを実行しようとしています:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
エラーが発生します:
bash: syntax error near unexpected token `;'
zshでは、コマンドラインが機能します。
bashのforループでバックグラウンドジョブを実行しようとしています:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
エラーが発生します:
bash: syntax error near unexpected token `;'
zshでは、コマンドラインが機能します。
回答:
;を削除します。睡眠後
for i in $(seq 3); do echo $i ; sleep 2 & done
ところで、このようなループは、適切なインデントを使用して別々の行に記述する方が適切です(これをシェルスクリプトファイルで記述している場合)。
for i in $(seq 3)
do
echo $i
sleep 2 &
done
$iバックグラウンドコマンドでこれを行うと、ジョブコントロールが$i、実際の値で$iはなくプロセス名に含まれていると表示するのはなぜですか?
for I in <whatever>; do rm -fr $I & done...- jobs>rm -fr $Iジョブごとに実際のディレクトリが削除される代わりに、数回