shell脚本执行返回的状态码

时间:2022-01-17 15:33:39

Linux下一条命令或一个进程执行完成会返回一个一个状态码。

0   ===   成功执行

非0 ===  执行过程中出现异常或非正常退出

在Shell脚本中 最后执行的一条命令将决定整个shell脚本的状态. 此外 shell的内部命令exit也可以随时终止shell脚本的执行,返回Shell脚本的状态码

当shell脚本执行结束前 的最后一个命令是不带参数的exit ,那么 shell脚本的最终返回值 就是 exit 语句前一条语句的返回值,根据这个值可以判断脚本成功执行与否。

 $? 可以查看 最后一条命令的返回值 该变量可以在shell 脚本中的任何地方使用.

#! /bin/bash
echo "please input the branch you want to compare"
read $MY_BRANCH
for i in $(cat list)
do
git-diff --quiet $MY_BRANCH $i [--quiet 选项的意思是不要输出比较后各个diff出来的结果]
if [ $? -eq 0 ] [$? 就是上一条命令执行的状态码]
then
echo $i
fi
done


shell脚本执行返回的状态码