シェルスクリプトでコントロールc、コントロールzを読み取る方法は?事前シェルスクリプトでエスケープ文字を読み取る方法は?
追加で
おかげで...
は私の要件は、スクリプトの終了時にファイルを削除、イム何をしていましたさ。スクリプトが(コントロールcまたはコントロールzによって)停止している場合、そのファイルを削除する必要があります。
シェルスクリプトでコントロールc、コントロールzを読み取る方法は?事前シェルスクリプトでエスケープ文字を読み取る方法は?
追加で
おかげで...
は私の要件は、スクリプトの終了時にファイルを削除、イム何をしていましたさ。スクリプトが(コントロールcまたはコントロールzによって)停止している場合、そのファイルを削除する必要があります。
ユーザーがコントロールc(または他の特別な組み合わせ)を行うたびに、シグナルがスクリプトに送信されます。
この信号は、trapコマンドを使用してスクリプトでキャプチャする必要があります。
それは説明するのは長いですが、このウェブは信号の管理についての良い説明含まれていますSIGNALS
セクションで説明フィールドに注意してください、あなたがそこに置くことができます許可信号のリストについては、読むman kill
http://linuxcommand.org/wss0160.php
#!/bin/sh
trap 'echo Hi there' INT USR1 TERM
while true; do sleep 1; done
をkill
のマニュアルページには、シェルスクリプトによってどの信号をブロック(トラップ)できるのかが記述されています。
注:Ctrl + cはINT(割り込み)信号です
あなたの問題は何ですか? – pmod
以下の回答(@holygeekと@Jonathanによる)は、C-cとC-zによって生成されたシグナルを捕まえて、あなたのスクリプトで何かしたいと思っていますか?これは正しいです?もしそうでなければ、それらを入力として実際に読んでみたいのですが、答えは全く異なります。可能であれば、あなたの質問を明確にするのに役立ちます。 –
私の必要条件は、スクリプトの最後にファイルを削除することでした。スクリプトが(コントロールcまたはコントロールzによって)停止していた場合でも、私はそのファイルを削除する必要があります.. – John