W Bash wiem, że umieszczenie spacji przed poleceniem uniemożliwia jej zachowanie w historii, jaki jest odpowiednik dla zshell?
command-line
zsh
linux-terminal
bneil
źródło
źródło
Odpowiedzi:
Użyj opcji HIST_IGNORE_SPACE.
źródło
kill -9 $$
jest naprawdę fantastyczne, aby uniknąć zapisywania wszystkich poleceń wydanych podczas bieżącej sesji terminala w historii.unset HISTFILE
przed blokiem poleceń. Trzeba będzieHISTFILE
później zresetować lub otworzyć nową powłokę, aby zachować polecenia w historii, które chcesz.Jeśli chcesz bardziej szczegółową kontrolę nad tym, co zostało dodane do historii ZSH, możesz zdefiniować
zshaddhistory
funkcję w.zshrc
. Poniższa definicja używa wyrażenia regularnego do zdefiniowania wzorca do zignorowania:Pamiętaj, że zachowanie od
man zshopts
dołuHIST_IGNORE_SPACE
nadal występuje:Aby to przetestować, musiałbyś trafić dodatkowo
[Enter]
. Usuwa to polecenie zarówno z danych wyjściowychhistory
, jak i historii strzałek ↑.źródło