怎么判断脚本执行完毕?

liulonghao 2008-12-06 12:31:28
我将调用的脚本重命名了,它还是返回了ok!?怎么回事?
脚本如下:
------------------------------------
./111.sh
echo $?
if [ "$?" = 0 ];then
echo "ok"
exit 0
else
echo "error"
exit 1
fi
------------------------------------
返回:
./222.sh: line 1: ./111.sh: 无此文件或目录
127
ok
----------------------------------
...全文
199 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulonghao 2008-12-06
  • 打赏
  • 举报
回复
自己顶...
liulonghao 2008-12-06
  • 打赏
  • 举报
回复
改成下面这个可以了可以了
./111.sh
a=$?
echo $a
if [ $a = 0 ];then
echo "ok"
echo $a
else
echo "error"
fi
liulonghao 2008-12-06
  • 打赏
  • 举报
回复
上面的方法也不行,还是返回了ok!奇怪
---------------------------
./111.sh
a=$?
echo $a
if [ "$a"=0 ];then
echo "ok"
exit 0
else
echo "error"
exit 1
fi
---------------------
但还是返回
./222.sh: line 1: ./111.sh: 无此文件或目录
127
ok
joyself 2008-12-06
  • 打赏
  • 举报
回复
echo $? 返回的是127,没有错
但是在 if [ "$?" = 0 ];then 语句里$?是执行 echo $?的返回值了。 此时已经变为了0了。

所以一个办法就是把 echo $?删除
还可以 把 echo $?的值附给一个变量。

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧