En una nota relacionada, recomiendo usar histverify en bash. Pon esto en tu ~ / .bashrc:
shopt -s histverify
Esto hará que bash imprima el comando después de expandir! $ U otras funciones del historial, y le dará la oportunidad de verlo antes de presionar enter nuevamente para ejecutarlo. Para mí, el control de la cordura vale la pena presionar ocasionalmente teclas adicionales. Quiero asegurarme de que estoy ejecutando el cd foo
comando, no el rm -rf foo
que ...
Frecuentemente uso el Ctrl-Renfoque, así como Alt-.(que es una buena opción para el escenario que describe). Lo usaré! $ En ocasiones.
Estas son técnicas muy útiles de uso general.
Pero para abordar su pregunta específica:
Hacer un directorio y cd'ing directamente en él es una combinación tan común que es útil tener una función para envolverlo.
function mcd {
local newdir='_mcd_command_failed_'
if [ -d "$1" ]; then # Dir exists, mention that
echo "$1 exists..."
newdir="$1"
else
if [ -n "$2" ]; then # We've specified a mode
command mkdir -p -m $2 "$1" && newdir = "$1"
else # Plain old mkdir
command mkdir -p "$1" && newdir="$1"
fi
fi
builtin cd "$newdir" # No matter what, cd into it
}
Uso: mcd thisismyfolder
cd this<TAB>