由于工作原因每次开启服务器后都是执行以后步骤:
1. 进入制定的目录
2.开启一些服务
3.查看进程,服务是否开启
编写脚本如下st.sh
#!/bin/sh
sudo su
cd /etc
./start.sh
ps -ef | grep exe
执行完后执行 pwd 发现还在/root下。不解放狗搜之发现:
脚本是由shell终端fork产生的子shell执行的,所以脚本执行完毕子shell也结束,因而返回父shell也就是当前的终端,"跳转目录"只是在子shell存活期间生效,也就是说你的shell脚本可能需要切换到其他目录但是这并不影响当前的shell(父shell)的目录。想想你在编译安装一个软件的时候是不是看到了许多切换目录的信息呢,但是软件安装完之后你的当前目录还是没变啊。