如何通过脚本文件更改目录

Dee*_*ngh 1 linux shell

我想通过终端执行一些命令.我有脚本执行命令.一些命令正在工作,但在尝试更改目录时,它没有改变.执行该脚本时没有错误.我制作的脚本是可执行的,如下所示:

make clean
make
cd /home/user
Run Code Online (Sandbox Code Playgroud)

将其保存为script.sh并使其可执行

spb*_*ick 6

当前工作目录是进程属性.每个进程的工作目录都有独立的值.您的脚本正常工作:它更改执行它的shell进程的当前工作目录.

如果您希望交互式shell更改工作目录,则必须指示.您可以通过将脚本"获取"到交互式shell中来实现."Sourcing"意味着读取脚本并由发送它的shell执行命令.这与"执行"脚本相反,在脚本中启动单独的shell进程并执行脚本内容.

您可以使用source.命令来源脚本.像这样:

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

或这个:

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