zsh - コマンドを実行する前に、コマンドパラメーターを確認してください。

zsh - コマンドを実行する前に、コマンドパラメーターを確認してください。

質問:zshコマンドラインを実行する前に確認するように教える簡単な方法はありますか?追加のスクリプトを使用して特定のプログラムを完全にラップできることを知っていますが、そうしたくありません。

例:gccタブ補完を使用すると、誤った呼び出しで入力ファイルを上書きする状況が発生しやすくなります。

gcc test.c -o test.c

変える

gcc test.c -o test

ベストアンサー1

accept-line zle必要なすべてのチェックを実行するようにウィジェットをオーバーライドできます。たとえば、次のようになります。

accept-line() {
  if [[ $BUFFER =~ '^gcc.*-o\s*\S*\.c\b' ]]; then
    zle -M 'I will not do that!'
  else
    zle .$WIDGET "$@"
  fi
}
zle -N accept-line

おすすめ記事