我想通过终端执行一些命令。我有脚本执行命令。一些命令正在工作,但在尝试更改目录时,它没有改变。执行该脚本时没有错误。我制作的脚本是可执行的,如下所示:
make clean
make
cd /home/user
将其保存为script.sh并使其可执行
答案 0 :(得分:6)
当前工作目录是一个流程属性。每个进程的工作目录都有独立的值。您的脚本正常工作:它会更改执行它的shell进程的当前工作目录。
如果您希望交互式shell更改工作目录,则必须指示它。您可以通过将脚本“获取”到交互式shell中来实现。 “Sourcing”意味着读取脚本并由发送它的shell执行命令。这与“执行”脚本相反,在脚本中启动单独的shell进程并执行脚本内容。
您可以使用source
或.
命令来源脚本。像这样:
source script.sh
或者这个:
. script.sh