Ctrl-C を押しながら zsh でコマンド後コマンドを実行する

Ctrl-C を押しながら zsh でコマンド後コマンドを実行する

私は最近zshbashOSXから)引っ越しました。 bashで1つのプログラムを実行してから別のプログラムを実行するために使用するbashエイリアスがあります(以前のプログラムがエラーで終了しても)。 zshでこれを複製する方法がわかりません。

コピーしたいbashエイリアスは次のとおりです。

gulp ; say "Gulp has crashed"

zshでこれを書き換える方法を知っている人はいますか?

編集する:

zsh私が得る違いbashは、gulpの実行中にBashを押すとctrl-cgulpが停止し、次のコマンドが続くことです。

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;

おすすめ記事