Yanıtlar:
HIST_IGNORE_SPACE seçeneğini kullanın.
setopt HIST_IGNORE_SPACE
erkek zshoptions
HIST_IGNORE_SPACE
Satırdaki ilk karakter boşluk olduğunda veya genişletilmiş diğer adlardan biri baş boşluk içerdiğinde komut satırlarını geçmiş listesinden kaldırın. Komutun, yok edilmeden önce bir sonraki komuta girilene kadar dahili tarihte kaldığını ve hattı yeniden kullanmanıza veya düzenlemenize izin verdiğine dikkat edin. Başka bir komuta girmeden hemen kaybolmasını istiyorsanız, bir boşluk bırakın ve return tuşuna basın.
kill -9 $$
Mevcut terminal oturumunda verilen tüm komutların tarihe kaydedilmesini engellemek gerçekten fantastik.
unset HISTFILE
önce yapabilirsiniz . HISTFILE
Geçmişinizde istediğiniz komutları tutmak için daha sonra sıfırlamanız veya yeni bir kabuk açmanız gerekir .
ZSH geçmişine eklenenler üzerinde daha ayrıntılı bir denetim istiyorsanız, içindeki zshaddhistory
işlevi tanımlayabilirsiniz .zshrc
. Aşağıdaki tanım, yoksayılacak bir deseni tanımlamak için bir regex kullanır:
function zshaddhistory() {
emulate -L zsh
if ! [[ "$1" =~ "(^ |^ykchalresp|--password)" ]] ; then
print -sr -- "${1%%$'\n'}"
fc -p
else
return 1
fi
}
Dan davranış unutmayın man zshopts
under HIST_IGNORE_SPACE
hala mevcutsa:
Komutun, yok edilmeden önce bir sonraki komuta girilene kadar dahili tarihte kaldığını ve hattı yeniden kullanmanıza veya düzenlemenize izin verdiğine dikkat edin.
Bu yüzden test etmek için, fazladan vurmanız gerekecek [Enter]
. Bu komutu hem çıktısından hem history
de ok geçmişinden kaldırır .