Bashでは、コマンドの前にスペースを置くとコマンドが履歴に保持されないことがわかっています。zshellに相当するものは何ですか?
HIST_IGNORE_SPACEオプションを使用します。
setopt HIST_IGNORE_SPACE
男zshoptions
HIST_IGNORE_SPACE
行の最初の文字がスペースである場合、または展開されたエイリアスの1つに先行スペースが含まれている場合は、履歴リストからコマンドラインを削除します。コマンドが消える前に次のコマンドが入力されるまで、コマンドは内部履歴に残り、その行を簡単に再利用または編集できることに注意してください。別のコマンドを入力せずにすぐに消したい場合は、スペースを入力してReturnキーを押します。
ZSH履歴に何を追加するかをより細かく制御したい場合は、zshaddhistory
関数を.zshrc
で定義できます。次の定義では、正規表現を使用して、無視するパターンを定義しています。
function zshaddhistory() {
emulate -L zsh
if ! [[ "$1" =~ "(^ |^ykchalresp|--password)" ]] ; then
print -sr -- "${1%%$'\n'}"
fc -p
else
return 1
fi
}
man zshopts
の下でのHIST_IGNORE_SPACE
の動作は引き続き存在することに注意してください。
コマンドが消える前に次のコマンドが入力されるまで、コマンドは内部履歴に残り、その行を簡単に再利用または編集できることに注意してください。
したがって、テストするには、追加の[Enter]
をヒットする必要があります。これにより、history
の出力と↑矢印の履歴の両方からコマンドが削除されます。