2

これをbashでやりたい:

trap "echo Don\'t do that!" 2 3

スクリプトを続行したいことを除いて、これは問題なく動作します。どうやってやるの?コマンドを空白文字列のままにしておくと、スクリプトは続行されますが、何も出力されません。メッセージの印刷と継続の両方を行うことはできますか?

4

1 に答える 1

4

このスクリプトでは:

#!/bin/bash
trap 'echo "Whee!"' 3 2

echo "Setting up.."
sleep 5
echo "Done."

私はこの出力を得る:

Setting up..
^CWhee!
Done.

^C..コマンド中にa を送信したときsleep。割り込みが送信されます。bashはそれをトラップして続行しますが、割り込みは によって適切に処理されsleepます。これはあなたが望むものではありませんか?

于 2014-01-17T19:23:50.563 に答える