免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 20562 | 回复: 14
打印 上一主题 下一主题

exit 1同exit 0有什么区别? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-22 09:27 |只看该作者 |倒序浏览
在程序中看到
if (@failures) {
    print join (", ", sort @failures), "n";
    exit 1;
};


exit 0;
但没有查到区具体有什么区别?作用是什么?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-11-22 09:36 |只看该作者
就unix而言.
exit 0 表示正常结束..
exit 1表示程序不正常结束...
that's all..

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2005-11-22 09:37 |只看该作者
对你的程序来说,没有区别。对使用你的程序的人或者程序来说,区别可就大了。
一般来说,exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非 0 值,那么你的程序的使用者通常会认为你的程序产生了一个错误。

以 shell 为例,在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。

同样的情形出现在 C 语言的 exec 系列函数中。

换个角度想想,作为你的程序的使用者来讲,他更多的希望通过查看你的程序的返回值得知你的程序到底做了什么、没做什么,而不是查看代码。

论坛徽章:
0
4 [报告]
发表于 2005-11-22 11:04 |只看该作者
明白了,多谢指点!

有没有用$?进行流程控制的例子吗?不知道具体怎么用的。

[ 本帖最后由 zw2002 于 2005-11-22 11:07 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2005-11-22 11:09 |只看该作者
原帖由 zw2002 于 2005-11-22 11:04 发表
明白了,多谢指点!

有没有用$?进行流程控制的例子吗?不知道具体怎么用的。

if [ $? == "0" ]; then
     echo 'ok';
fi

论坛徽章:
0
6 [报告]
发表于 2005-11-22 11:42 |只看该作者
perl 1.pl退出有三种方式exit 0;exit 1;exit 2;
我想在另一个perl程序中怎么去获得1.pl的退出值,怎么做呢?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2005-11-22 12:38 |只看该作者
$?

论坛徽章:
0
8 [报告]
发表于 2005-11-22 12:58 |只看该作者
vi 3.pl
#!/usr/bin/perl
exit 1;

vi 1.pl
#!/usr/bin/perl
if ($? == "0")
{print "ok!";}


[root@10 alert]# perl 3.pl
[root@10 alert]# perl 1.pl
ok![root@10 alert]

[ 本帖最后由 zw2002 于 2005-11-22 12:59 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2005-11-22 19:53 |只看该作者
原帖由 zw2002 于 2005-11-22 12:58 发表
vi 3.pl
#!/usr/bin/perl
exit 1;

vi 1.pl
#!/usr/bin/perl
if ($? == "0")
{print "ok!";}


[root@10 alert]# perl 3.pl
[root@10 alert]# perl 1.pl
ok![[/color ...


晕,你这样子test当然不行嘛,1.pl与3.pl根本不在同一个process里,并且相互也没有调用关系,怎能用$?去捕获错误?

[ 本帖最后由 兰花仙子 于 2005-11-22 19:55 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2005-11-22 22:16 |只看该作者
哪要在什么环境才能测出来呢?我要据回返回值进行相应的操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP