Bash'ın neden varsayılan olarak tarih değiştirmenin hala etkin olduğunu bilen var mı ? Benim .bashrc
dahilset +H
uzun yıllardır etti ama bazı insanlar hala bu özellik tarafından ısırılıyor.
Hemen hemen herkesin, kopyala-yapıştır özelliklerine vereadline
kütüphane ile derlenmiş bash'a sahip terminaller kullanması ve tarih değiştirme sadece interaktif kabuklarda varsayılan olarak etkinleştirildiği bu özelliğe sahip olmanın herhangi bir nedeni var mı? Tüm komut dosyaları için varsayılan olarak devre dışı bırakılsa bile varolan komut dosyalarının hiçbiri bozulmaz.
Geçmiş değişikliğinin neden bozuk olduğunu bilmiyorsanız bunu deneyin:
$ set +H # disable feature history substitution
$ echo "WTF???!?!!?"
WTF???!?!!?
$ set -H # enable feature history substitution
$ echo "WTF???!?!!?"
echo WTF???echo WTF???!?!!?
WTF???echo WTF???!?!!?
(Açıkçası, tüm komut dosyaları için varsayılan olarak devre dışı bırakılmışsa ve yürütmeden önce sonuçları doğrulamak için bir özellik varsa, önemli sorunlar vardır:. shopt -s histverify
)
Ayrıca bakınız:
&
? Neden bir dosya adı içeren bir dosya adından kaçmalı ya da teklif vermeliyim ?
? Bunun bir sorun olduğunu düşünen insanlar için arayüzler var.
!$
günde birkaç kez, ve !!
oldukça sık de. İtiraf etmeliyim ki diğer tarih ikamelerini o kadar fazla kullanmıyorum, ama yıllardır kullandığım kabuğun varsayılan davranışı aniden değiştiğinde kesinlikle mutsuz olurum.
ls -l foo/bar/baz/weeble.cpp
ileless !$
daha hatırlama komuta ve düzenlemek o.