Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想通过终端执行一些命令。我有用于执行命令的脚本。一些命令正在工作,但是在尝试更改目录时它没有改变。执行该脚本时没有错误。我制作的脚本是可执行的,如下所述:
make clean make cd /home/user
将其保存为 script.sh 并使其可执行
当前工作目录是一个进程属性。每个进程对其工作目录都有独立的价值。您的脚本工作正常:它更改了执行它的 shell 进程的当前工作目录。
如果您希望交互式 shell 更改工作目录,您必须指示它。您可以通过将脚本“采购”到交互式 shell 中来实现。“Sourcing”意味着读取脚本并通过获取脚本的 shell 执行命令。这与“执行”脚本相反,其中启动了一个单独的 shell 进程并执行脚本内容。
您可以使用source或.命令获取脚本。像这样:
source
.
source script.sh
或这个:
. script.sh