Bash脚本之命令行参数$@和$*
来源:互联网 发布:mac防火墙设置 编辑:程序博客网 时间:2024/06/05 15:04
$@和$*都代表所有命令行参数,但是二者是有区别的。
$*将命令行上提供的所有参数当作一个参数来保存,$@将命令行上提供的所有参数当作一个字符串中的多个独立的参数来保存。
通常都是在程序中使用$@,并且用双引号引起来。下面举例说明:
以下5个程序的程序名都是test.sh,均执行如下命令:
sh test.sh a b "c d"希望得到的输出是:
abc d
程序1
for var in $*doecho $vardone输出:
abcd
程序2
for var in $@doecho $vardone输出:
abcd
程序3
for var in "$*"doecho $vardone输出:
a b c d
程序4
for var in "$@"doecho $vardone输出:
abc d
程序5
while [ -n "$1" ]doecho $1shiftdone输出:
abc d
只有最后两个程序得到了期望的结果,可以看出双引号的作用是很重要的。
0 0
- Bash脚本之命令行参数$@和$*
- Bash编程 - 命令行参数
- Linux Bash shell位置参数和命令行参数
- 命令行和ant脚本的参数传递
- [一天几个linux命令] 编写bash脚本之接收参数
- linux之bash脚本
- 【Bash脚本】处理命令行入参
- 脚本乐园 Shell中命令行选项和参数的处理
- 命令行参数解析之getopt和optparse
- Bash Shell 命令行 选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- Bash Shell中命令行选项/参数处理
- 第二周上机实践项目——文件+结构体实现实用系统
- 吃在海底捞
- JSP 乱码问题
- qt事件机制
- 2dx源码--js jsc先后
- Bash脚本之命令行参数$@和$*
- java io流中对象流的使用
- Leetcode Reverse Integer
- 插入排序
- Thinking in C++读书笔记(五)---隐藏实现
- 开始记录有意义的生活
- Oracle 10g 数据库导入工具impdp使用Windows的网络驱动器 ORA-31640
- Linus Torvals为何不来中国访问?
- 排序之选择排序