script - Cambie temporalmente el directorio de trabajo actual en bash para ejecutar un comando
script linux ejemplos (3)
Esta pregunta ya tiene una respuesta aquí:
Sé que puedo usar el comando cd
para cambiar mi directorio de trabajo en bash.
Pero si hago este comando:
cd SOME_PATH && run_some_command
Entonces el directorio de trabajo será cambiado permanentemente. ¿Hay alguna manera de cambiar el directorio de trabajo de forma tan temporal como este?
PWD=SOME_PATH run_some_command
Algo como esto debería funcionar:
sh -c ''cd /tmp && exec pwd''
Puede ejecutar el cd
y el ejecutable en una subcadena al encerrar la línea de comando en un par de paréntesis:
(cd SOME_PATH && exec_some_command)
Manifestación:
$ pwd
/home/abhijit
$ (cd /tmp && pwd) # directory changed in the subshell
/tmp
$ pwd # parent shell''s pwd is still the same
/home/abhijit
bash tiene un builtin
pushd SOME_PATH
run_stuff
...
...
popd