Quando eseguo i comandi, a volte vorrei eseguire un comando con gli argomenti precedenti. Per fare ciò, puoi usare questo collegamento:
$ mkdir /tmp/new
$ cd !!:*
Occasionalmente, al posto dell'utilizzo di find, interrompo un ciclo di una riga se devo eseguire un gruppo di comandi su un elenco di file.
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
Configurare le opzioni della cronologia della riga di comando nel mio .bash_login (o .bashrc) è davvero utile. Di seguito è riportato un gruppo di impostazioni che utilizzo sul mio Macbook Pro.
L'impostazione di quanto segue fa bash cancellare comandi duplicati nella tua cronologia:
export HISTCONTROL="erasedups:ignoreboth"
Ho anche aumentato la mia dimensione della storia piuttosto in alto. Perchè no? Non sembra rallentare nulla sui microprocessori di oggi.
export HISTFILESIZE=500000
export HISTSIZE=100000
Un'altra cosa che faccio è ignorare alcuni comandi della mia storia. Non è necessario ricordare il comando di uscita.
export HISTIGNORE="&:[ ]*:exit"
Sicuramente vuoi impostare histappend. Altrimenti, bash sovrascrive la tua cronologia quando esci.
shopt -s histappend
Un'altra opzione che utilizzo è cmdhist. Ciò consente di salvare i comandi multilinea nella cronologia come un solo comando.
shopt -s cmdhist
Infine, su Mac OS X (se non si utilizza la modalità vi), è necessario ripristinare <CTRL> -S dall'arresto dello scorrimento. Questo impedisce a bash di essere in grado di interpretarlo come ricerca in avanti.
stty stop ""