免费注册 查看新帖 |

Chinaunix

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

参数为什么为丢呢,看一下, [复制链接]

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-11 21:19 |只看该作者 |倒序浏览
写SHELL的时候,为什么参数会丢失呢,
% cat >nowtime<<eof
#!/bin/csh
date | awk '{ print $3 }'
eof
% chmod 777 nowtime
% ./nowtime
2003年07月11日 星期五 20时08分20秒 EDT  


这个显示应该是20时08分20秒才对呀,这是什么,如果在命令行下
%date | awk '{ print $3 }'
20时08分20秒

这是什么原因!!!!

论坛徽章:
0
2 [报告]
发表于 2003-07-11 22:14 |只看该作者

参数为什么为丢呢,看一下,

$3可能被展开了.
你可以看看nowtime文件还是不是你要的样子.

$ cat nowtime

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
3 [报告]
发表于 2003-07-12 11:36 |只看该作者

参数为什么为丢呢,看一下,

$cat nowtime
date | awk '{ print    }'
变成这样了,不知道为什么?

论坛徽章:
0
4 [报告]
发表于 2003-07-12 13:24 |只看该作者

参数为什么为丢呢,看一下,

还没明白?
$ cat >nowtime <<eof
> #!/bin/csh
> date |awk '{print \$3}'        # $号前打一个\
> eof
$ chmod u+x nowtime
。。。

论坛徽章:
0
5 [报告]
发表于 2003-07-15 23:25 |只看该作者

参数为什么为丢呢,看一下,

原帖由 "夜未眠" 发表:
还没明白?
$ cat >nowtime <<eof
> #!/bin/csh
> date |awk '{print \$3}'        # $号前打一个\
> eof
$ chmod u+x nowtime
。。。
   

我还是不明白啊,请高手指点  

论坛徽章:
0
6 [报告]
发表于 2003-07-16 08:58 |只看该作者

参数为什么为丢呢,看一下,

$3被sh解释为当前命令的第三个参数
而不是字符串“$3”
所以要用\来转义$

论坛徽章:
0
7 [报告]
发表于 2003-07-16 09:26 |只看该作者

参数为什么为丢呢,看一下,

就应该是:#date | awk '{ print $3 }'
从管道过滤过来后,awk认为你所需要的时间就是第三项参数。对的。
可能是你编辑的时候无意中删除了$3,建议编辑一下文件,将参数加上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP