我正在尝试将目录更改为 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(具有一组完全独立的变量)来运行脚本。
资料来源: