赞
踩
针对命令的结果进行判断只能知道哪一步出错,但是无法知道具体执行了什么命令,虽然可以用-x参数进行调试,但是眼花缭乱的字符看起来太麻烦了,所以为何不执行获取没一条命令内容及结果进行判断呢?
最简单的一种就是利用函数及传参,测试内容如下
[root@controller ~]# cat t
cmd(){
$1 > /dev/null
if [[ "$?" -eq "0" ]];then
echo -e "执行的命令: [$1]\t执行结果: 成功"
else
echo -e "执行命令:[$1]\t执行结果:失败"
fi
}
echo "第一条命令"
cmd "ip a"
echo "第二条命令"
cmd "rm -f dd"
echo '第三'
cmd 'sd'
[root@controller ~]# cat t cmd(){ $1 > /dev/null if [[ "$?" -eq "0" ]];then echo -e "执行的命令: [$1]\t执行结果: 成功" else echo -e "执行命令:[$1]\t执行结果:失败" fi } echo "第一条命令" cmd "ip a" echo "第二条命令" cmd "rm -f dd" echo '第三' cmd 'sd' [root@controller ~]# bash t 第一条命令 执行的命令: [ip a] 执行结果: 成功 第二条命令 执行的命令: [rm -f dd] 执行结果: 成功 第三 t:行2: sd: 未找到命令 执行命令:[sd] 执行结果:失败
这样子就两全其美了,如果还有更好的办法的话还请告知,谢谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。