Her şeyden önce, sadece harita eşlemek için daha basit olabilir yukarı ve Aşağı düğmeleri history-search-backward ve history-search-forward sırasıyla. itibaren man bash:
history-search-forward
Search forward through the history for the string of characters
between the start of the current line and the point. This is a
non-incremental search.
history-search-backward
Search backward through the history for the string of characters
between the start of the current line and the point. This is a
non-incremental search.
Bu özellik etkinken, komutunuzun adını yazmaya başlayın ve ardından tuşuna basın. yukarı , yalnızca yazdığınızdan başlayarak geçmişinizden gelen komutlar gösterilir. Bu şekilde, ilgilendiğiniz komutu çok hızlı bir şekilde bulabilirsiniz ve dizine özgü geçmiş dosyaları ile uğraşmanıza gerek kalmaz. Sadece yaz s, sonra yukarı ve sadece ile başlayan komutlar s bulunacak. kullanım fooba ve sadece ile başlayanlar fooba gösterilecek.
Bunu etkinleştirmek için, aşağıdaki satırları telefonunuza ekleyin. ~/.inputrc sunucudaki dosya (terminal emülatörünüze bağlı olarak, biraz farklı bir biçime ihtiyacınız olabilir. İşte eğer bu işe yaramazsa):
"\e[A": history-search-backward
"\e[B": history-search-forward
Bu, evet, her dizin için bir geçmiş dosyası ayarlamak mümkündür. Bu işlevi ~/.profile (senin için değil ~/.bashrc bu dosya kullanılırken varsayılan olarak okunmadığından ssh uzak bir makineye giriş yapmak için):
setHistFile(){
targetDirs=("/home/terdon/foo" "/home/terdon/bar")
for dir in "${targetDirs[@]}"; do
if [[ "$dir" = "$PWD" ]]; then
## Set the history file name
export HISTFILE="./.bash_history"
## clear current history
history -c
## read history from the $HISTFILE
history -r
## Exit the function
return
fi
done
## This will be run if the PWD is not in
## the targetDirs array
export HISTFILE="$HOME/.bash_history"
## Read the history (in case we are leaving
## one of the targetDirs)
history -r
}
Ve sonra PROMPT_COMMAND değişken (bu, bir kabuk istemi her gösterildiğinde çalıştırılan bir komuttur):
export PROMPT_COMMAND='setHistFile'
Değiştir targetDirs kendi geçmiş dosyalarına sahip olmak istediğiniz dizinlerin listesine.