在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢,由于业务需要,在用户的根目录下总shell里面调用其它的子shell来启停程序,所以就先写个简单的停止程序的例子?
下面举一个简单例子,然后再扩展,首先就是准备两个shell脚本,然后再看看两者之间怎么进行简单明了的调用?
stop.sh #主脚本
stop1.sh #子脚本,或者说被调脚本
1.准备的第一个子shell脚本为:
vi stop1.sh #创建命令
stop1.sh的内容
#!/bin/bash
string="第一个停止程序的子shell脚本,就从Hello World开始吧! \n"
2.准备的第二个父shell脚本为:
vi stop.sh #创建命令
stop.sh的内容
方法一:
#!/bin/bash
. ./stop1.sh
echo -e ${string}
exit 0
方法二:
#!/bin/bash
source ./stop1.sh
echo -e ${string}
exit 0
注:
1️⃣.两个点之间,有空格,千万注意.
2️⃣.两个脚本不在同一目录,要用绝对路径
3️⃣.为简单起见,通常用第一种方法
3.执行结果
1️⃣.被调脚本可以没有执行权限,调用脚本必须有可执行权限
2️⃣.chmod +x ./stop.sh #注意这里要有点,否则bash脚本可能找不到
chmod +x ./stop.sh
./stop.sh或者sh stop.sh
效果图: