我知道我可以使用cd
命令来更改我在bash中的工作目录。
但是如果我执行这个命令:
cd SOME_PATH && run_some_command
则工作目录将永久更改。有什么方法可以像这样临时更改工作目录吗?
PWD=SOME_PATH run_some_command
发布于 2012-04-30 18:30:33
您可以通过将命令行括在一对括号中,在子subshell中运行cd
和可执行文件:
(cd SOME_PATH && exec_some_command)
演示:
$ pwd
/home/abhijit
$ (cd /tmp && pwd) # directory changed in the subshell
/tmp
$ pwd # parent shell's pwd is still the same
/home/abhijit
发布于 2012-05-01 00:15:54
bash有一个内置的
pushd SOME_PATH
run_stuff
...
...
popd
发布于 2012-04-30 18:35:44
像这样的东西应该是有效的:
sh -c 'cd /tmp && exec pwd'
https://stackoverflow.com/questions/10382141
复制相似问题