Je sais que je peux utiliser la commande cd
pour modifier mon répertoire de travail dans bash.
Mais si je fais cette commande:
cd SOME_PATH && run_some_command
Ensuite, le répertoire de travail sera changé de façon permanente. Y a-t-il un moyen de changer le répertoire de travail juste temporairement comme ceci?
PWD=SOME_PATH run_some_command
Vous pouvez exécuter le cd
et l'exécutable dans un sous-shell en plaçant la ligne de commande entre deux parenthèses:
(cd SOME_PATH && exec_some_command)
Démo:
$ pwd
/home/abhijit
$ (cd /tmp && pwd) # directory changed in the subshell
/tmp
$ pwd # parent Shell's pwd is still the same
/home/abhijit
bash a intégré
pushd SOME_PATH
run_stuff
...
...
popd
Quelque chose comme ça devrait marcher:
sh -c 'cd /tmp && exec pwd'