No puedo decir cuántas veces he deseado un comando que cree un directorio y se mueva a ese directorio. Básicamente, me gustaría el equivalente de lo siguiente:
mkdir -p /arbitrarily/long/path; cd /arbitrarily/long/path
pero solo tener que escribir /arbitrarily/long/path
una vez, algo como:
mk-cd /arbitrarily/long/path
Intenté crear un script para hacer esto, pero solo cambia el directorio dentro del script. Me gustaría que el directorio en el shell también haya cambiado.
#!/bin/bash
mkdir $1
cd $1
export PWD=$PWD
¿Cómo podría hacer que esto funcione?
cd
(regrese al directorio anterior usando cd -
, use pushd
y popd
para mantener una "pila" de directorios): superuser.com/questions/324512/…
mkdir -p /very/long/path
, luego usar cd
, espacio, y luego presionar Alt + .
para repetir el último argumento, es decir, el nombre del directorio.
mkdir -p /very/long/path; cd !#:2
. La cadena !#:2
se expandirá al argumento nr. 2 (es decir, el tercer argumento /very/long/path
, ya que el conteo comienza con cero).
!$
. Uso este truco en particular todo el tiempo, aunque hay mucho más que puedes hacer con la expansión del historial .
cd
, elegiste un caso especial desde el principio. : D