Estoy buscando una manera de crear un directorio y cambiar mi directorio de trabajo actual a un directorio recién creado con solo usar un comando. ¿Cómo puedo hacer esto?
es decir, en lugar de hacer
user@Computer:~$ mkdir NewDirectory
user@Computer:~$ cd NewDirectory
user@Computer:~/NewDirectory$
quiero hacer
user@computer:~$ **command** NewDirectory
user@Computer:~/NewDirectory$
¿Cuál puede ser el comando ?
fuente
mkdir "NewDir" && cd "$_"
funciona muy bien quemkdir "NewDir" && cd "NewDir"
como autocompletar no funciona. Por cierto, ¿qué es "$ _"?mkdir
para cambiar al nuevo directorio creado..bashrc
;)No hay una función incorporada para eso, pero puede usar la funcionalidad de shell para ayudarlo a no tener que
cd
volver a escribir el argumento del comando después de ejecutarmkdir
:cd
, luego Esc .(o Alt+ .) para insertar el último argumento del comando anterior.cd !$
se ejecutacd
en el último argumento del comando anterior.mkdir
acd
.Puede definir una función simple de crear y cambiar directorios en su
~/.bashrc
:Vuelva a cargar su
.bashrc
(. ~/.bashrc
) o reinicie bash, y ahora puede escribirmkcd new-directory
.Esta versión simple falla en algunos casos inusuales que involucran nombres de directorios extraños o
..
enlaces simbólicos. Aquí hay uno que sí. Para obtener explicaciones, consulte la versión de Unix y Linux de esta pregunta .fuente
hay una solución mencionada anteriormente (igual que mi solución pero sin la opción -p), pero creo que tiene algunos inconvenientes.
Esto nos da dos beneficios:
&& cd "$_"
cambiará al directorio recién creado, ya que$_
mantener el valor devuelto mimkdir
fuente