2017-05-13 9 views
0

my .commandファイルをダブルクリックすると、アプリケーションが終了するnohupコマンド(端末)をバックグラウンドで実行するコマンドにヒットするまで、すべての行が読み込まれます。このコードが挿入されていないと、コマンドファイル(ダブルクリック時)が動作しません...なぜですか?

ここで、このコマンドをスクリプトの上部に入力すると、スクリプト全体が機能します。なぜ地球上で起こっているのだろうか?

Apperently
exec 3>&1 4>&2 
trap 'exec 2>&4 1>&3' 0 1 2 3 
exec 1>/Users/$username/Desktop/log.out 2>&1 

答えて

0

私はスクリプトの中でこのコマンドを実行している:pkillはしてアプリケーションを終了

nohup osascript -e 'tell application "Terminal" to do script "'"$DIR"'"' & pkill -f -a Terminal 

は、全体的なスクリプトの問題を作成します。したがって、SIGHUPシグナルを破壊します。 #bashチャンネル - 私のソリューションは、izabera Freenode Chatからを次のように...

trap '' 1 # this blocks sighup so we don't die when terminal is closed 

おかげです。

関連する問題