set
yerleşiğini
-o history seçeneği ile çalıştırıp
geçmişi etkinleştirdiğinizde, kabuk önceden kullandığınız komutların
bir listesi olan
komut geçmişine erişim sağlar.
HISTSIZE kabuk değişkeninin değeri geçmiş
listesindeki kayıtların sayısı olarak kullanılır. Daima son
$HISTSIZE komut (öntanımlı 500) saklanır. Kabuk
her komutu,
HISTIGNORE ve
HISTCONTROL
kabuk değişkenlerinin değerlerine bağlı olarak geçmiş yorumlaması
uyguladıktan sonra, parametre ve değişken yorumlamalarını uygulamadan
önce geçmiş listesine alır.
Kabuk başlatıldığında
HISTFILE değişkeninde ismi
kayıtlı olan dosyadan (öntanımlı değeri
~/.bash_history)
geçmişi ilklendirir. Bu dosyanın satır sayısı
HISTFILESIZE
değişkenindeki değerden fazla ise, dosya boyutu fazlalıklar atılarak
ayarlanır. Bir etkileşimli kabuk çıkarken geçmiş listesindeki son
$HISTSIZE komutu
$HISTFILE isimli dosyaya kopyalar.
histappend kabuk seçeneği etkinse geçmiş listesindeki komutlar dosyaya eklenir, değilse dosyanın üzerine yazılır.
HISTFILE atanmamışsa veya geçmiş dosyası yazılabilir
değilse geçmiş kaydedilmez. Geçmiş kaydedildikten sonra, geçmiş
dosyası
$HISTFILESIZE satırdan fazla satır
içeriyorsa fazla satırlar dosyadan kaldırılır.
$HISTFILESIZE
atanmamışsa fazla satırlar kaldırılmaz.
HISTTIMEFORMAT atanmışsa her geçmiş girdisi ile ilgili zaman damgası bilgisi geçmiş dosyasına yazılır.
fc yerleşik komutu ile geçmiş listesi,
listelenebilir, düzenlenebilir ve listenin bir bölümü yeniden
çalıştırılabilir.
history yerleşik komutu ile geçmiş
listesini görebilir, değiştirebilir ve geçmiş dosyasını
değiştirebilirsiniz. Komut satırı düzenlemesi yaparken, geçmiş
listesine erişim sağlayan her düzenleme kipinde arama komutları
kullanılabilir (
Geçmişi Yöneten Komutlar
bölümüne bakınız).
Kabuk, geçmiş listesinde kayıtlı komutların üzerinde denetime izin
verir.
HISTCONTROL ve
HISTIGNORE
değişkenleri kabuğun, girilen komutların belli bir bölümünün
kaydedilmesini sağlamakta kullanılabilir.
cmdhist
kabuk seçeneği etkinse, bir çok satırlı komut, sözdizimsel
doğruluğun korunmasını sağlayacak yerlerine
;
işaretleri yerleştirilerek bütün satırları tek geçmiş girdisi
olarak kaydedilmeye çalışılır.
lithist kabul seçeneği etkinse, bir çok satırlı komut,
; işaretleri yerine kendi içindeki satırsonu karakterleri ile kaydedilir. Bu seçenekleri etkinleştirmek için
shopt yerleşik komutu kullanılır.