Eth*_*ang 156 bash shell terminal working-directory
我知道我可以使用cd命令在bash中更改我的工作目录.
但是,如果我执行此命令:
cd SOME_PATH && run_some_command
Run Code Online (Sandbox Code Playgroud)
然后工作目录将永久更改.有没有办法像这样暂时更改工作目录?
PWD=SOME_PATH run_some_command
Run Code Online (Sandbox Code Playgroud)
cod*_*ict 275
您可以cd通过将命令行括在一对括号中来运行子shell中的可执行文件:
(cd SOME_PATH && exec_some_command)
Run Code Online (Sandbox Code Playgroud)
演示:
$ pwd
/home/abhijit
$ (cd /tmp && pwd) # directory changed in the subshell
/tmp
$ pwd # parent shell's pwd is still the same
/home/abhijit
Run Code Online (Sandbox Code Playgroud)
piz*_*zza 110
bash有一个内置的
pushd SOME_PATH
run_stuff
...
...
popd
Run Code Online (Sandbox Code Playgroud)
yaz*_*azu 26
这样的事情应该有效:
sh -c 'cd /tmp && exec pwd'
Run Code Online (Sandbox Code Playgroud)