Komutları çalıştırırken, bazen daha önceki argümanlarla bir komut çalıştırmak isteyeceğim. Bunu yapmak için şu kısayolu kullanabilirsiniz:
$ mkdir /tmp/new
$ cd !!:*
Ara sıra, find komutunu kullanmak yerine, dosyalar listesinde bir grup komut çalıştırmam gerekirse tek satırlık bir döngü oluşturacağım.
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
.Bash_login (veya .bashrc) içindeki komut satırı geçmişi seçeneklerini yapılandırmak gerçekten yararlıdır. Aşağıdakiler Macbook Pro'mda kullandığım bir kadrodur.
Aşağıdakileri ayarlamak bash geçmişinizdeki yinelenen komutları siler:
export HISTCONTROL="erasedups:ignoreboth"
Ayrıca tarihimin boyutunu da oldukça yüksek. Neden olmasın? Bugünün mikroişlemcilerinde hiçbir şey yavaşlamıyor gibi görünüyor.
export HISTFILESIZE=500000
export HISTSIZE=100000
Yaptığım başka bir şey de benim geçmişimdeki bazı komutları görmezden gelmek. Çıkış komutunu hatırlamanıza gerek yoktur.
export HISTIGNORE="&:[ ]*:exit"
Kesinlikle histansını ayarlamak istiyorsunuz. Aksi halde bash, çıktığınızda geçmişinizin üzerine yazar.
shopt -s histappend
Kullandığım diğer bir seçenek de cmhist. Bu, çok satırlı komutları geçmişe tek bir komut olarak kaydetmenizi sağlar.
shopt -s cmdhist
Son olarak, Mac OS X'te (vi modunu kullanmıyorsanız), <CTRL> -S'yi kaydırma durdurma olarak sıfırlamak istersiniz. Bu, bash'ın ileri arama olarak yorumlanmasını önler.
stty stop ""