我在一个名为/ Users / tcl / scripts / gotoroot:
的文件中有这个脚本echo "hello"
cd /
echo "good bye"
但是当我运行它时,我得到了这个:
User:scripts tcl$ pwd
/Users/tcl/scripts
User:scripts tcl$ gotoroot
hello
good bye
User:scripts tcl$ pwd
/Users/tcl/scripts
User:scripts tcl$
目录没有改变,我不知道为什么?它应该是/,而不是/ Users / tcl / scripts
答案 0 :(得分:5)
运行脚本时,它会在新进程中启动子shell。 setInterval()
更改子shell内的目录,而不是终端进程内的目录。
将其放入脚本中进行测试:
location.assign("https://www.example.com.")
您应该会看到它在脚本中更改为cd
。
答案 1 :(得分:2)
Shell脚本在子进程内运行。 CD正在运行,但它发生在与主终端会话不同的进程中,并且一旦返回到终端会话就对工作目录没有影响。