このループをCtrl + C割り込み可能にする方法は?

このループをCtrl + C割り込み可能にする方法は?
# wait for host to become online
while true; do
    ping host -c 1 -w 3 > /dev/null && break;
    sleep 1
done

Ctrl+を押すとCpingが選択され、終了コード1(ホストの終了と同じ)で終了します。これを正しく行うにはどうすればよいですか?

解決策:sleep 1 || break^ Cをダブルクリックします。

ベストアンサー1

trap "exit 1" INT

while true; do
    ping host -c 1 -w 3 > /dev/null && break;
    sleep 1
done

trap - INT # restore handler

おすすめ記事