Shell基础学习(三) 传递参数
2016-05-30 10:01
295 查看
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:
为脚本设置可执行权限,并执行脚本,输出结果如下所示:
另外,还有几个特殊字符用来处理参数:
为脚本设置可执行权限,并执行脚本,输出结果如下所示:
$* 与 $a 区别:
相同点:都是引用所有参数。
不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:
#!bin/bash echo "Shell 文件名: $0" echo "第一个参数: $1" echo "第二个参数: $2" echo "第三个参数: $3"
为脚本设置可执行权限,并执行脚本,输出结果如下所示:
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 执行的文件名:test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3
另外,还有几个特殊字符用来处理参数:
#!/bin/bash echo "Shell 传递参数实例!"; echo "第一个参数为:$1"; echo "参数个数为:$#"; echo "传递的参数作为一个字符串显示:$*"; echo "-- \$* 演示 ---" for i in "$*"; do echo $i done echo "-- \$@ 演示 ---" for i in "$@"; do echo $i done
为脚本设置可执行权限,并执行脚本,输出结果如下所示:
$ chmod +x test.sh $ ./test.sh 1 2 3 Shell 传递参数实例! 第一个参数为:1 参数个数为:3 传递的参数作为一个字符串显示:1 2 3 -- $* 演示 --- 1 2 3 -- $@ 演示 --- 1 2 3
$* 与 $a 区别:
相同点:都是引用所有参数。
不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
相关文章推荐
- Shell基础学习(二) Shell变量
- Shell基础学习(一) Shell简介
- Shell学习-入门(一)
- sed常用实例
- Tcl或sh调用 exec调用管道”|”和awk的注意事项 + shell返回值如何赋值给tcl变量
- 如何设置Xshell中的多会话
- shell中的正则表达式
- Shell语法速查
- 使用xshell登陆腾讯云主机
- 一天一Shell
- java 调用shell命令
- 学习 shell —— 相对路径转换为绝对路径
- 学习 shell —— 参数的解析:$0/1/2、$#、 $@、$?(set -e)
- Linux Shell角本中的条件判断
- shell(十一)切割文件
- Linux Shell 文本处理工具
- 连载shell(一): 交互式脚本,随日期变化,数值运算
- Shell编程中Shift的用法
- shell脚本的使用---cut截取数据
- 终极Shell---zsh