表示位置的特殊变量
- $数字
#基础用法
[root@manager ~]# cat /server/scripts/2.5-1-arg.sh
#!/bin/bash
echo $1 $2
[root@manager ~]# sh /server/scripts/2.5-1-arg.sh a b
a b
[root@manager ~]#
#实际案例 /etc/init.d/network start === $1=start
#进阶: 脚本有多个参数
[root@manager ~]# echo echo \${1..12}
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12
[root@manager ~]# echo echo \${1..12}
>> /server/scripts/2.5-1-arg.sh
[root@manager ~]# cat /server/scripts/2.5-1-arg.sh
#!/bin/bash
echo $1 $2
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12
[root@manager ~]# sh /server/scripts/2.5-1-arg.sh {1..12}
1 2
1 2 3 4 5 6 7 8 9 10 11 12
#脚本参数超过9个 脚本参数需要使用 ${10} ${11} ※※※※※※ [root@manager ~]# cat /server/scripts/2.5-1-arg.sh
#!/bin/bash
echo ${1} ${2}
echo ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12}
[root@manager ~]# sh /server/scripts/2.5-1-arg.sh {a..z}
a b
a b c d e f g h i j k l
#认识 ${} $ 一致 取出变量的内容
[root@manager ~]# age=18
[root@manager ~]# echo $age 18
[root@manager ~]# echo $agesui
[root@manager ~]# echo ${age}sui 18sui
[root@manager ~]# #金庸新作
[root@manager ~]# #${金庸}新作
- 小结:
- $数字 脚本传参 命令行内容 传递到脚本的内部
/etc/init.d/network start - #脚本参数超过9个,脚本参数需要使用$(10) $(11)
- 与 与 与{}
2.$0
- 脚本的名字
#简单案例
[root@manager ~]# cd /server/scripts/
[root@manager /server/scripts]# sh 2.5-1-arg.sh
2.5-1-arg.sh
[root@manager /server/scripts]# sh /server/scripts/../../server/scripts/2.5-1-arg.sh
/server/scripts/../../server/scripts/2.5-1-arg.sh
#实际应用
#书写脚本 如果脚本执行出错 错误提示会使用 $0
##usage 使用帮助 使用说明
[root@manager /server/scripts]# /etc/init.d/network oldboy
Usage: /etc/init.d/network
{start|stop|status|restart|force-reload}
$0
[root@manager /server/scripts]# sh 2.5-1-arg.sh
2.5-1-arg.sh
Usage: 2.5-1-arg.sh {start|stop|restart}
[root@manager /server/scripts]# cat 2.5-1-arg.sh
#!/bin/bash
echo ${1} ${2}
echo ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12}
echo $0
echo "Usage: $0 {start|stop|restart}"
- 小结:
- $0 使用在 脚本遇到错误的时候 错误提示
3) $# 脚本参数的个数
#基础用法
[root@manager /server/scripts]# cat 2.5-1-arg.sh
#!/bin/bash
#echo ${1} ${2}
#echo ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12}
#echo $0
#echo "Usage: $0 {start|stop|restart}" echo $1 $2 $#
[root@manager /server/scripts]# sh 2.5-1-arg.sh 0
[root@manager /server/scripts]# sh 2.5-1-arg.sh oldboy oldbing lidao oldboy oldbing 3
#实际应用
##一般与 判断一起使用 如果脚本参数个数=0 ? 提示报错信息 /etc/init.d/network
案例 : /etc/init.d/functions
452 if [ "$#" = 0 ] ; then
453 echo "Usage: status [-p pidfile] {program}"
454 return 1
455 fi
- 小结:
- $#脚本参数的个数
- 一般配合判断 判断脚本参数个数如果是0 提示报错信息