アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

シェルについて、どなたかご教授頂けますと幸いで御座います。
以下、★処理を実施していますが、シェル.sh を実行中に Ctrl+\ で終了(シグナル)しても
トラップ処理が実行されません。"| tee -a ファイル名" を削除し、シェル.sh のみ実行すると、
トラップ処理が実行されます。何か、良いアイデアは御座いますか??

*******************************************************
#!/bin/bash
#------------------------------------------------------------------------------
# Trap
#------------------------------------------------------------------------------
trap 'echo "trapped."; トラップ処理 >> /dev/null 2>&1;exit 1' 1 3 15
trap '' 2
umask 022

:
<中略>
:

#------------------------------------------------------------------------------
# main
#------------------------------------------------------------------------------
シェル.sh | tee -a ファイル名 ★
#シェル.sh
*******************************************************

A 回答 (1件)

teeがSIGQUITで終了


→パイプが無くなる
→SIGPIPE(13)発生
→SIGPIPEはtrapされてない
ってことでは?
    • good
    • 0
この回答へのお礼

ご回答有難う御座います。大変助かります。
動作確認してみます。

お礼日時:2012/06/22 09:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!