免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wertyu
打印 上一主题 下一主题

sed的返回值是怎么定义的? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-16 17:44 |只看该作者
原帖由 welcome008 于 2008-12-16 17:27 发表



man sed


EXIT STATUS
     The following exit values are returned:

     0     Successful completion.

     >0    An error occurred.

我的没有,info里面太多了,没去找。

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
12 [报告]
发表于 2008-12-16 18:00 |只看该作者
还有就是想问问 为啥我的man info没有这么多的内容呢 man和info基本都一样 是要另外下载吗

论坛徽章:
0
13 [报告]
发表于 2008-12-16 18:14 |只看该作者
原帖由 biglazybug 于 2008-12-16 18:00 发表
还有就是想问问 为啥我的man info没有这么多的内容呢 man和info基本都一样 是要另外下载吗

file /usr/share/info/sed.info.gz
看看你的info是不是man的符号链接或者是干脆没有,有些发行版为了减少体积可能会去掉,毕竟一般man就够用了,info很少用。我的info也不是很全,awk的info就没有,打开就是man。

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
14 [报告]
发表于 2008-12-16 18:25 |只看该作者
那这些资料我可以在哪能找到吗 info的

论坛徽章:
0
15 [报告]
发表于 2008-12-16 18:42 |只看该作者
我表达有些不清楚。
sed的内部命令在执行的时候会不会有个返回值来记录返回结果,什么情况下会返回0,什么情况下会返回>0呢?
比如执行s,在我的想象中觉得替换成功就返回0,失败就返回>0,可实际上不管有没有成功都是返回0的。


$cat foo
test
$sed 's/test/testing/g' foo >/dev/null 2>&1 && echo "pass" || echo "fail"
pass
$sed 's/non/testing/g' foo >/dev/null 2>&1 && echo "pass" || echo "fail"
pass


应该是我的想法错了,估计
1. sed内部的命令在执行时根本没有返回值这么一说,除非用到t之类的命令才会去检查前面s执行的结果(不过这里的结果又是存在哪的呢?)。

2. 执行sed时除非foo不存在或者不可读这样的情况,应该都是返回0的,而不管内部处理时发生了什么。

论坛徽章:
0
16 [报告]
发表于 2008-12-16 18:43 |只看该作者
原帖由 welcome008 于 2008-12-16 17:27 发表



man sed


EXIT STATUS
     The following exit values are returned:

     0     Successful completion.

     >0    An error occurred.

另外我也没在man和info里找到这个,……

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
17 [报告]
发表于 2008-12-17 07:41 |只看该作者
什么版本的linux这样的man info能是全的呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP