- 论坛徽章:
- 0
|
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里面是一种什么机制解决这种错误的,是不是虽然没有对位置参数做出改变但是可以用啊? |
|