中易网

在open里面执行命令,怎么得到命令退出状态

答案:1  悬赏:0  
解决时间 2021-04-17 19:59
在open里面执行命令,怎么得到命令退出状态
最佳答案
放到后台去执行,前台已经不管其执行情况了,返回的仅仅是放入后台这个操作成功与否而非命令本身,那肯定都是成功的。
后台获取ls -l 命令的执行情况,可以考虑将错误输出流(2)导入标准输出(1)获取命令打印结果加以判断。如:
ret=`ls -l my 2>&1 &`
# 如果是用脚本执行的话,需要在这里判断进程是否存在,等待命令执行完;或者sleep足够长的时间
echo $ret | grep "No such file or directory" >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Failed"
else
echo "Successful"
fi

或者也可以考虑写文件的方式,若后台命令执行发生错误,写错误日志,判断存在错误日志且大小不为0,就能知道命令执行发生错误了。这样做的好处是,不涉及具体错误信息的判断。
errlog=/tmp/err.log
size=0
ls -l my 2>$errlog &
# 如果是用脚本执行的话,需要在这里判断进程是否存在,等待命令执行完;或者sleep足够长的时间
[ -f $errlog ] && size=`wc -c $errlog | cut -d' ' -f1`
if [ $size -gt 0 ]; then
echo "Failed"
else
echo "Successful"
fi
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么破解无线网的密码
上八不是八,下八才是八,十字在中间,人人爱
中国工商银行的安全软件问题!!!
QQ怎么开通
英文地址翻译深圳龙华新区人民路锦绣江南2期7
从通州金沙汽车站到上海金沙江路和中江路路口
终点到站用英语怎么说?
阴阳师组队大作战怎么打 达摩蛋怎么得
观沧海中对景物作总写的句子是
04款宝来1.6升,百公里油耗为?~~~~~~
淄博中润华侨城到新村路健康街坐哪辆公交车
大连日本风情街到周水子机场大连日本风情街打
最近头总是晕晕沉沉的,脑袋疼,总是困想睡觉
七星彩第一个数和第二个数中了多少钱
银商卡怎么查余额
推荐资讯
DNF中山东四区20的红装炎日光剑多少钱
北京外墙清洗空气净化公司哪家最好,工作效率
销售产品一批,货款32800元,收到票面金额为3
各位LS,除了插入光栅图像以外,还有什么方法
请问怀孕可以喝点酸奶吗?
烧烤食物有哪些?
玫瑰盛宴读后感
中国国际标准舞拉丁舞联合会天龙考级考证培训
生产日期早于当前日期
900元以能买QQ开视频的手机是什么牌呀?
华农现在能摘草莓吗?想明天去,不知道现在熟
为什么我电脑上传不了图片,总是加载超时的?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?