摘要
本文部分内容来源于网络,个人收集整理,请勿传播
位置变量和特殊变量参数,它们是只读的.
位置变量:
如果要向一个shell脚本传递信息,可以使用位置参数完成此功能;参数相关数目传入脚本,此数目可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制;参数从第一个开始,在第九个结束;每个访问参数前要加$符号;第一个参数为0,表示预留保存实际脚本名字;无论脚本是否有参数,此值均可用.
变量名:
1 | $0, |
说明:
- $0: 表示脚本名称。
- $1,$2,…,$9:$1表示向脚本传递的第一个参数,$2表示向脚本传递的第二个参数,…,$9表示向脚本传递的第九个参数.
特殊变量(参数)
shell对一些参数做特殊处理,这些参数只能被引用而不能被赋值.
特定shell变量如下:
- $# 传递到脚本的参数个数;
- $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个;
- $$ 脚本运行的当前进程ID号;
- $! 后台运行的最后一个进程的进程ID号;
- $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数;
- $- 显示shell使用的当前选项,与set命令功能相同;
- $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误;
- shift 造成参数变量号码偏移,第二个参数变为$1,以此类推。
示例:
1 | [root@www ~]# cat test_parm.sh |