バート・シェーファー zshユーザーに関する同じ質問に対して、次のアプローチを提案しました メーリング リスト:
zshaddhistory() { whence ${${(z)1}[1]} >| /dev/null || return 1 }
この関数は、コマンド ラインが履歴に書き込まれる前に実行されます。 1 が返された場合、現在のコマンド ラインは履歴ファイルにもローカル履歴スタックにも追加されません。ただし、コマンドが command not found をトリガーするかどうかのチェック エラーは単純なケースのみをカバーします。例えば。この行は履歴に表示されます:
echo foo; echooo bar
しかし、あなたの例ではうまくいきます
gut status
UP-ARROW
で間違ったコマンドが表示されることに注意してください。 (修正できるように!)が、履歴スタックにはありません。 fc -l
で確認してください .
コマンドがユーザー入力を要求するときに、コマンドの出力をファイルにリダイレクトする方法は?
Linux を使用して、テキスト内のスペルミスのあるすべての単語のリストを取得するにはどうすればよいですか?