免费注册 查看新帖 |

Chinaunix

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

[AWK]返回值的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-14 17:39 |只看该作者 |倒序浏览
echo 'abc'|awk '/abc1/'  
echo $?

0

为什么会返回0呢,而不是1


echo 'abc'|grep abc1
echo $?


1

[ 本帖最后由 dayan_he 于 2009-4-14 18:05 编辑 ]
zhuangxiaosong 该用户已被删除
2 [报告]
发表于 2009-04-14 17:53 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2009-04-14 18:05 |只看该作者
不好意思,我粗心,少了个 /

论坛徽章:
0
4 [报告]
发表于 2009-04-14 19:07 |只看该作者
awk说,这种情况返回0,于是返回0

论坛徽章:
0
5 [报告]
发表于 2009-04-14 21:19 |只看该作者

回复 #4 ywlscpl 的帖子

[root@rhel ~]# echo 'abc'|awk '/abc/'  
abc
[root@rhel ~]# echo $?
0

不明白,不理解。

论坛徽章:
0
6 [报告]
发表于 2009-04-14 21:41 |只看该作者
原帖由 rhlei 于 2009-4-14 21:19 发表
[root@rhel ~]# echo 'abc'|awk '/abc/'  
abc
[root@rhel ~]# echo $?
0

不明白,不理解。


你的楼上就是答案……awk就是这样设定返回值的……
如果一定要在没有匹配到时得到特定的返回值,可以自行指定:


  1. echo "abc" | awk '!/abc1/{exit 1}'
复制代码

论坛徽章:
0
7 [报告]
发表于 2009-04-14 21:41 |只看该作者

回复 #5 rhlei 的帖子

shell 执行没有错误就返回0

论坛徽章:
0
8 [报告]
发表于 2009-04-14 21:42 |只看该作者

回复 #5 rhlei 的帖子

为什么非得把返回值为0理解成成功做了啥,返回值为1理解成做啥事失败了?
返回值是什么是程序的事。

  1. [root@Mylinux tmp]# cat file
  2. test
  3. test
  4. [root@Mylinux tmp]# set -o vi
  5. [root@Mylinux tmp]# cat file;echo $?   
  6. test
  7. test
  8. 0
  9. [root@Mylinux tmp]# cat sbsdfdf;echo $?
  10. cat: sbsdfdf: 没有那个文件或目录
  11. 1
  12. [root@Mylinux tmp]# cat ccat
  13. #!/bin/bash
  14. if [ -e $1 ];then
  15.   cat $1
  16.   exit 1
  17. else
  18.   exit 0
  19. fi
  20. [root@Mylinux tmp]# ./ccat file;echo $?
  21. test
  22. test
  23. 1
  24. [root@Mylinux tmp]# ./ccat sbsdfdf;echo $?   
  25. 0
复制代码

论坛徽章:
0
9 [报告]
发表于 2009-04-14 21:49 |只看该作者

回复 #7 wtuter 的帖子

你这个解释好像不太对吧

[ 本帖最后由 dayan_he 于 2009-4-14 21:51 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-04-14 22:54 |只看该作者
"程序有没有执行"和"程序执行有什么结果"是两个概念,
就像“今天有没有来吃饭”和“有没有吃饭,吃了几成饭,还是来晚了,结果全给人吃了”是两回事

再者,这只是大家都遵循的习惯而已

[ 本帖最后由 haimming 于 2009-4-14 22:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP