如何获取 shell 脚本来为我更改目录?

如何获取 shell 脚本来为我更改目录?

这是我运行的一个小测试,尝试将我移回 root:

#!/bin/bash
pwd
cd /
pwd

它返回当前工作目录,然后返回正确的新目录,但是当脚本执行完毕时,我仍然在原始目录中并且没有移动。有什么办法可以实现这一点吗?

谢谢。

答案1

无法在脚本中实现此目的 - 脚本启动子 shell,这是一个独立的环境。造成这种情况的原因有很多,但从根本上讲——脚本无法篡改你的环境(包括您的cwd)。

最接近的是在当前的壳。

alias chr="cd /"

无论是那种情况,还是“源”脚本,它都会在当前 shell 中“运行”。例如像你的.bashrc.

相关内容