Podczas uruchamiania poleceń czasami chcę uruchomić polecenie z poprzednimi argumentami. Aby to zrobić, możesz użyć tego skrótu:
$ mkdir /tmp/new
$ cd !!:*
Od czasu do czasu, zamiast używania funkcji find, przerywam pętlę jednowierszową, jeśli potrzebuję uruchomić kilka poleceń na liście plików.
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
Konfigurowanie opcji historii wiersza poleceń w moim .bash_login (lub .bashrc) jest naprawdę przydatne. Poniżej znajduje się zbiór ustawień, których używam na moim Macbooku Pro.
Ustawienie następujących opcji sprawia, że bash usuwa zduplikowane polecenia z historii:
export HISTCONTROL="erasedups:ignoreboth"
Podnoszę też dość wysoki rozmiar mojej historii. Dlaczego nie? Wydaje się, że nie spowalnia to niczego w dzisiejszych mikroprocesorach.
export HISTFILESIZE=500000
export HISTSIZE=100000
Inną rzeczą, którą robię, jest ignorowanie niektórych poleceń z mojej historii. Nie musisz pamiętać polecenia wyjścia.
export HISTIGNORE="&:[ ]*:exit"
Na pewno chcesz ustawić histappend. W przeciwnym razie bash nadpisze twoją historię przy wyjściu.
shopt -s histappend
Inną opcją, której używam, jest cmdhist. Umożliwia to zapisywanie poleceń wielowierszowych w historii jako jedno polecenie.
shopt -s cmdhist
Wreszcie w systemie Mac OS X (jeśli nie używasz trybu vi), będziesz chciał zresetować <CTRL> -S przed zatrzymaniem przewijania. Uniemożliwia to bashowi zinterpretowanie tego jako wyszukiwania do przodu.
stty stop ""