shell脚本之教你如何获取上一条命令的内容及结果

1、应用场景

针对命令的结果进行判断只能知道哪一步出错,但是无法知道具体执行了什么命令,虽然可以用-x参数进行调试,但是眼花缭乱的字符看起来太麻烦了,所以为何不执行获取没一条命令内容及结果进行判断呢?

2、实现方法

2.1、脚本模板

最简单的一种就是利用函数及传参,测试内容如下

[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'

2.2、执行结果

[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]	执行结果:失败

这样子就两全其美了,如果还有更好的办法的话还请告知,谢谢
shell脚本之教你如何获取上一条命令的内容及结果_第1张图片

转载请注明!!

你可能感兴趣的:(Shell,Linux,shell,linux,Shell返回处理,Shell获取命令)