set -e
while true; do echo "test"; sleep 1; done &
echo "done"
ueoa
これを実行すると、一度到着するとueoa
(存在しない任意のコマンド)「終了」しますが、実行が継続されますwhile true; do echo "test"; sleep 1; done
。
この場合、フォアグラウンドプロセスも終了したことをどのように確認できますか?
ベストアンサー1
そう:
#!/usr/bin/env bash
trap 'kill $(jobs -p)' ERR
set -e
while true; do echo "test"; sleep 1; done &
echo "done"
ueoa