1

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

make clean
make
cd /home/user

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

4

1 回答 1

5

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

如果您希望交互式 shell 更改工作目录,您必须指示。您可以通过将脚本“采购”到交互式 shell 中来实现。“Sourcing”意味着读取脚本并通过获取脚本的 shell 执行命令。这与“执行”脚本相反,其中启动了一个单独的 shell 进程并执行脚本内容。

您可以使用source.命令获取脚本。像这样:

source script.sh

或这个:

. script.sh
于 2013-10-04T11:23:32.710 回答