常用shell脚本参数含义
[
2008/09/03 17:58 | by askwan ]
2008/09/03 17:58 | by askwan ]
为了写出友好和易于使用的脚本,这里总结了一下,目前大部分脚本程序最经常使用的参数
,和“国际”接轨,以后要慢慢培养自己这方面的能力
-a 显示所有对象
-c 设置一个具体数值
-d 指定一个目录
-D debug模式运行
-e 扩展一个对象
-f 指定一个从中读取数据的文件
-h 限制脚本帮助信息
-i 忽略大小写
-l 产生一个长格式化输出
-n 非交互式模式
-o 指定输出文件
-q 安静模式运行
-r 递归式处理文件和目录
-s 静默模式运行
-v 打印版本信息
-y 默认yes回答所有过程
能想到的就这些 欢迎补充
,和“国际”接轨,以后要慢慢培养自己这方面的能力
-a 显示所有对象
-c 设置一个具体数值
-d 指定一个目录
-D debug模式运行
-e 扩展一个对象
-f 指定一个从中读取数据的文件
-h 限制脚本帮助信息
-i 忽略大小写
-l 产生一个长格式化输出
-n 非交互式模式
-o 指定输出文件
-q 安静模式运行
-r 递归式处理文件和目录
-s 静默模式运行
-v 打印版本信息
-y 默认yes回答所有过程
能想到的就这些 欢迎补充
在bash中,$* 与 $@ 都表示shell所有的参数值,
实例一:
test1
[root@localhost askwan]# ./test1 askwan askwan1 askwan2 askwan3
再看示例2:
test2
[root@localhost askwan]# ./test2 askwan1 askwan2 askwan3 askwan4
从这点知道,其实$*和$@最大的区别就是,前者把脚本所有参数都当作一个整体的字符串,后者则以空格符区别对待各个参数。
实例一:
test1
[root@localhost askwan]# ./test1 askwan askwan1 askwan2 askwan3
when use the $* : askwan askwan1 askwan2 askwan3
when use the $@ : askwan askwan1 askwan2 askwan3
when use the $@ : askwan askwan1 askwan2 askwan3
再看示例2:
test2
[root@localhost askwan]# ./test2 askwan1 askwan2 askwan3 askwan4
$* parameter #1 = askwan askwan1 askwan2 askwan3
$@ parameter #1 = askwan
$@ parameter #2 = askwan1
$@ parameter #3 = askwan2
$@ parameter #4 = askwan3
$@ parameter #1 = askwan
$@ parameter #2 = askwan1
$@ parameter #3 = askwan2
$@ parameter #4 = askwan3
从这点知道,其实$*和$@最大的区别就是,前者把脚本所有参数都当作一个整体的字符串,后者则以空格符区别对待各个参数。
bash参数超过十个的变化
[
2008/09/03 11:50 | by askwan ]
2008/09/03 11:50 | by askwan ]
bash shell在9个参数一下都可以直接以$1,$2.....$9来赋值,超过十个参数就有些变化了
,要以${10},${11}.....这样给参数赋值
示例
,要以${10},${11}.....这样给参数赋值
示例
Quotation
[root@server ~]# ./test 10 20 30 40 50 60 70 80 90 100 200
the 10th pamameters is 100.
the 11th parameters is 200.
the sum is 300
the 11th parameters is 200.
the sum is 300


