Al ejecutar comandos, a veces querré ejecutar un comando con los argumentos anteriores. Para hacer eso, puede usar este acceso directo:
$ mkdir /tmp/new
$ cd !!:*
Ocasionalmente, en lugar de usar find, romperé un bucle de una línea si necesito ejecutar un montón de comandos en una lista de archivos.
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
Configurar las opciones del historial de la línea de comandos en mi .bash_login (o .bashrc) es realmente útil. El siguiente es un cuadro de configuraciones que uso en mi Macbook Pro.
Establecer lo siguiente hace que bash borre comandos duplicados en su historial:
export HISTCONTROL="erasedups:ignoreboth"
También aumento el tamaño de mi historial bastante alto también. Por qué no? No parece ralentizar nada en los microprocesadores de hoy.
export HISTFILESIZE=500000
export HISTSIZE=100000
Otra cosa que hago es ignorar algunos comandos de mi historial. No es necesario recordar el comando de salida.
export HISTIGNORE="&:[ ]*:exit"
Definitivamente desea establecer histappend. De lo contrario, bash sobrescribe su historial cuando salga.
shopt -s histappend
Otra opción que uso es cmdhist. Esto le permite guardar comandos de varias líneas en el historial como un solo comando.
shopt -s cmdhist
Finalmente, en Mac OS X (si no está usando el modo vi), querrá restablecer <CTRL> -S para que no se detenga. Esto evita que bash pueda interpretarlo como búsqueda hacia adelante.
stty stop ""