/etc/rc trap
お次はこれ
trap : 2 trap : 3
解釈は
シェル自身はSIGINTを無視するが、子プロセス(外部コマンド)はデフォルト動作に戻る
シェル自身はSIGQUITを無視するが、子プロセス(外部コマンド)はデフォルト動作に戻る
という風になる
trapっていうのはsh組み込みコマンドで
あるシグナルを受信した時になすべき仕事を指定する(シグナルハンドラ)奴
trap 'rm -f hoge.txt;exit 1' 2
ってやるとCtrl+c
押したら、ファイルを消してスクリプトが終了する
フラグファイルとか制御するのに便利
あと、
trap '' 2
でCtrl+cを無視するし
trap 2
でCtrl+cを無視しなくすることができる(設定を解除する)
んで
:はsh組み込みコマンドで
ヌルコマンド(常に戻り値が0の値をかえす)
実行コマンド版はtrueになる
んで、何もしないんでダミーのコマンドとして扱う事が出来る
そんで、shとしては
ユーザがあるシグナルを無視するように設定すると、そこから起動される子プロセス(外部コマンド)もそのシグナルを無視する。
しかし、あるシグナルを受信したならば特定の処理を行うように設定した場合には、その設定は子プロセス(外部コマンド)側にはいっさい伝わらず、
該当シグナルに対して既定の処理を行う。
という訳なんで、上記のように解釈できる訳