红联Linux门户
Linux帮助

如何在shell脚本中调用另一个shell的结果

发布时间:2017-05-07 09:41:54来源:linux网站作者:iamdebugman
在shell脚本中调用另一个shell脚本的结果,可以分为获取内容结果和执行结果两种情况,具体可以参考如下内容。
 
一、获取内容结果
获取内容结果,即获取另一个脚本执行过程中的输出内容做为结果。此种情况可以借助于shell命令执行另一个脚本文件或者用变量保存。比如a.sh和b.sh,a.sh中调用b.sh的代码,一起输出"hello world"的字符串。
b.sh的代码如下
echo " world!"
如何在shell脚本中调用另一个shell的结果
a.sh中可以借助"."来执行b.sh脚本,b.sh的执行结果可以保存在变量中,也可以直接输出,a.sh中的内容如下:
echo "可以用.命令来执行脚本文件"
echo "hello `./b.sh`"
var=`./b.sh`
echo "hello $var";
如何在shell脚本中调用另一个shell的结果
a.sh中也可以借助于source命令来执行b.sh脚本,b.sh的执行结果可以保存在变量中,也可以直接输出。a.sh中的内容如下:
echo "用source命令可以执行脚本文件"
echo "hello `source ./b.sh`"
var=`source ./b.sh`
echo "hello $var"
如何在shell脚本中调用另一个shell的结果
a.sh中也可以借助于bash、sh等命令来执行b.sh脚本,b.sh的执行结果可以保存在变量中,也可以直接输出。a.sh中的内容如下:
如何在shell脚本中调用另一个shell的结果
另外,也可以使用$(),将b.sh的执行结果的内容保存到变量中
如何在shell脚本中调用另一个shell的结果
 
二、获取执行结果
获取执行结果,即获取脚本在执行过程的返回值。这个返回值可以借助于return语句返回。比如2.sh中有一个函数,它的返回值是100。1.sh中可以直接通过上面的方法加载脚本,然后通过$?来获取返回的值。2.sh的示例内容如下(只是举一个例子):
function comp()
{
echo "execute sucessfuly";
return 100;
}
如何在shell脚本中调用另一个shell的结果
1.sh的内容如下:
#加载2.sh的内容
source ./2.sh 
#调用2.sh的函数
comp $1 $2
#函数的返回值即2.sh的执行结果,保存在$?中
#下面是判断返回值是否是100
if (($?==100));then
echo "2.sh execute sucessfuly";
else
echo "2.sh execute not sucessfuly";
fi
如何在shell脚本中调用另一个shell的结果
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30585.html