Shell位置参数
2013-12-29 11:26
239 查看
1.$0, $1, $2,等等:位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
以下用一个例子来说明这3个参数具体是什么东西,让读者有一个感性的认识
1)编写shell脚本
#!/bin/bash
echo " $0 hahah, $1 , $2"
exit
2)在命令行中输入sh tt8.sh 10 12
这时你会看到的运行结果是:
tt8.sh hahah, 10 , 12
2.$#:命令行或者是位置参数的个数.
3.$*:所有的位置参数,被作为一个单词.注意:"$*"必须被""引用.
4.$@:与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.注意:"$@"必须被引用.
5.$-:传递给脚本的falg(使用set 命令).注意:这起初是ksh 的特征,后来被引进到Bash 中,但不幸的是,在Bash 中它看上去也不能可靠的工作.使用它的一个可能的方法就是让这个脚本进行自我测试(查看是否是交互的).
6.$!:在后台运行的最后的工作的PID(进程ID).
7.$_:保存之前执行的命令的最后一个参数.
8.$?:命令,函数或者脚本本身的退出状态
9.$$:脚本自身的进程ID.这个变量经常用来构造一个"unique"的临时文件名.
以下用一个例子来说明这3个参数具体是什么东西,让读者有一个感性的认识
1)编写shell脚本
#!/bin/bash
echo " $0 hahah, $1 , $2"
exit
2)在命令行中输入sh tt8.sh 10 12
这时你会看到的运行结果是:
tt8.sh hahah, 10 , 12
2.$#:命令行或者是位置参数的个数.
3.$*:所有的位置参数,被作为一个单词.注意:"$*"必须被""引用.
4.$@:与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.注意:"$@"必须被引用.
5.$-:传递给脚本的falg(使用set 命令).注意:这起初是ksh 的特征,后来被引进到Bash 中,但不幸的是,在Bash 中它看上去也不能可靠的工作.使用它的一个可能的方法就是让这个脚本进行自我测试(查看是否是交互的).
6.$!:在后台运行的最后的工作的PID(进程ID).
7.$_:保存之前执行的命令的最后一个参数.
8.$?:命令,函数或者脚本本身的退出状态
9.$$:脚本自身的进程ID.这个变量经常用来构造一个"unique"的临时文件名.
相关文章推荐
- 一个脚本就能明白Shell 脚本中的位置参数的含义
- shell脚本中位置参数 $0 $1 .. $* $#的备忘
- Linux Bash shell位置参数和命令行参数
- Bash Shell 位置参数和内部参数
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
- shell位置参数和特殊变量
- shell--特殊位置参数变量及常用内置变量
- Linux入门.2_shell位置参数
- shell 位置变量和特殊变量参数
- LINUX BASH SHELL位置变量与特殊变量参数
- 【学习笔记】shell中位置参数及特殊参数
- [Linux]:Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义
- 关于Shell脚本的二个位置参数
- shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义
- [Linux]:bash shell位置参数
- linux下shell中if的相关参数以及$位置参数的数量
- Shell脚本中的位置变量参数(特殊字符)实例讲解
- shell编程之脚本位置参数
- shell 的位置参数
- shell位置参数及特殊变量