私は最近、zsh の preexec() および precmd() 関数について知り、シェルからもう少し機能を絞り出す斬新な方法を思いつきました。
この prexec() 関数は、実行しようとした「コマンド」が「http」で始まり「.git」で終わるかどうかを確認します。そうであれば、自動的にソース ディレクトリに移動し、ソースをチェックアウトします。だから私はそれを貼り付けてEnterキーを押すだけで、レースに出かけます。それ以外の場合、正常 (またはエラー) は正常に見えるはずです。
function preexec() {
[[ "$1" =~ "^http.*.git\$" ]] && cd /usr/local/src && git clone "$1"
}
今困っているのは、表示される「コマンドが見つかりませんでした」というエラーを無視または上書きする方法がないように見えることです。
zsh: そのようなファイルやディレクトリはありません: https://github.com/someproject.git
'1'、ZLE_LINE_ABORTED、2>&1 をめくって、1、0 を返し、noglob を使用して上書きしようとしました。
エラーメッセージを抑制する方法を知っているzshの賢い人はいますか?