ver todos para otro mover los ejemplos directorio crear copiar contenido consola comandos comando carpeta basicos archivos archivo unix cd

unix - para - mover todos los archivos de un directorio a otro en linux



volver a la ubicación anterior después del comando ''cd''? (4)

Estoy escribiendo un script de shell que necesita cd a alguna ubicación. ¿Hay alguna forma de volver a la ubicación anterior, es decir, la ubicación antes de ejecutar el cd ?


Otra alternativa es un pequeño conjunto de funciones que puede agregar a su .bashrc que le permiten ir a directorios nombrados:

# cd /some/horribly/long/path # save spud # cd /some/other/horrible/path # save green ... # go spud /some/horribly/long/path

Esto está documentado en una herramienta de productividad de navegación de directorio , pero básicamente implica guardar la salida de "pwd" en los mnemónicos nombrados ("spud" y "verde") en el caso anterior, y luego cd''ing al contenido de los archivos.


Puede hacer eco de PWD en una variable y el cd volver a esa variable. Puede ser más silencioso.


Puedes simplemente hacer

cd -

eso lo llevará de regreso a su ubicación anterior.

Algunos shells te permiten usar los comandos pushdir / popdir, echa un vistazo a este sitio . También puede encontrar útil esta pregunta SO .


Si está ejecutando dentro de un script, también puede ejecutar parte del script dentro de un subproceso, que tendrá un valor privado de $ PWD.

# do some work in the base directory, eg. echoing $PWD echo $PWD # Run some other command inside subshell ( cd ./new_directory; echo $PWD ) # You are back in the original directory here: echo $PWD

Esto tiene sus ventajas y desventajas ... aisla muy bien el directorio, pero los subprocesos de desove pueden ser costosos si lo haces mucho. (EDITAR: como señala @Norman Gray a continuación, la penalización de rendimiento de generar el subproceso probablemente no sea muy cara en relación con lo que esté sucediendo en el resto del script)

En aras de la mantenibilidad, normalmente utilizo este enfoque a menos que pueda probar que el script se está ejecutando lentamente debido a ello.