
私は最近zsh
(bash
OSXから)引っ越しました。 bashで1つのプログラムを実行してから別のプログラムを実行するために使用するbashエイリアスがあります(以前のプログラムがエラーで終了しても)。 zshでこれを複製する方法がわかりません。
コピーしたいbashエイリアスは次のとおりです。
gulp ; say "Gulp has crashed"
zshでこれを書き換える方法を知っている人はいますか?
編集する:
zsh
私が得る違いbash
は、gulpの実行中にBashを押すとctrl-c
gulpが停止し、次のコマンドが続くことです。
Zshを押すと、コマンドラインctrl-c
全体が停止するようです。
この行を使用する目的は、gulpがバックグラウンドで実行を停止したときに音の警告を受け取ることです。 (Macユーザーではない場合、sayコマンドはテキストボイスコンバータです。)
答え1
代わりに関数を使用することをお勧めします。
mygulp () { trap : INT; gulp || say "Gulp has crashed"; }
(「割り込み」信号)をtrap
キャッチしてコマンドを実行します(つまり、何もしません)。Ctrl-C
:
||
また、正常に終了する;
とgulp
(ctrl-cを押していない場合)、何も起こりませんが、終了コードが0でなければsay
コマンドが開始されます。
この機能は、閉じ括弧を閉じる前に最後の機能を削除できるbash
両方の機能で動作します。zsh
;