免费注册 查看新帖 |

Chinaunix

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

字符串处理问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-03 14:47 |只看该作者 |倒序浏览
learning the bash shell》中有如下代码:
#############################
#
#    highest filename [howmany]
#
#    打印filename文件中howmany个数值最高的行
#    假设输入文件具有以下以数字开始的行,默认情况下howmany是10
#


filename=${1:=myfile}   #试图修改位置参数,这是不允许的
howmany=${2:=10}      #试图修改位置参数,这是不允许的


sort -nr filename | head $howmany


##############################

给这个脚本命名:highest
执行的时候,如果没有参数传给脚本,按照道理是不能执行的
因为会试图修改位置参数,在我自己的red hat系统上执行(bash 2.05),
虽然没有参数传给highest,最后虽然报了两条错,还是执行了,程序是把null和10传给了filename和howmany
然后提示我输如一些数据,我自己输进去一些和如下类似的条目:
2       alex
6       antonio
。。。。。。。
。。。。。
最后输出了排名前十的条目
想问问在bash里面是一种什么机制解决这种错误的,是不是虽然没有对位置参数做出改变但是可以用啊?

untitled.jpg (700.9 KB, 下载次数: 13)

untitled.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP