如何使用shell脚本更改目录?

Suj*_*tha 6 bash scripts

我正在尝试将目录更改为 home/developer。我cd home/developer在我的 shell 脚本中使用过。执行脚本后,它再次进入原始目录,在那里我执行了 shell 脚本。

Rad*_*anu 11

当您启动脚本时,会创建一个仅继承您的环境的新进程。您当前的环境保持原样。如果要从脚本更改当前目录,可以像这样启动脚本:

. script.sh
Run Code Online (Sandbox Code Playgroud)

或者

source script.sh
Run Code Online (Sandbox Code Playgroud)

.source是长版本.)将评估脚本在当前的环境下,因此可能会被改变。

当使用source它在现有 shell 中运行的脚本运行时,脚本创建或修改的任何变量在脚本完成后仍然可用。相反,如果脚本像 一样运行script.sh,则将生成一个单独的子 shell(具有一组完全独立的变量)来运行脚本。

资料来源:

  • @Sujatha 你能在 http://paste.ubuntu.com/ 上发布你的脚本吗?我怀疑您在脚本中有 `exit` 命令。如果是这样,这是正常的。 (2认同)