我们在脚本第一行加入echo
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15
3)打印26个字母如下:
[root@yankerp src]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
传入26个字母a-z 作为26个参数
[root@yankerp src]# cat test.sh
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 #脚本内容
[root@yankerp src]# source test.sh {a..z} #传入26个字母
a b c d e f g h i a0 a1 a2 a3 a4 a5 #位置参数大于9后,输出的内容就不对了
[root@yankerp src]#
当位置参数大于9时 上面已经提到了我们可以使用{}来定义如下:
[root@yankerp src]# cat test.sh
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} ${12} ${13} ${14} ${15}
再次·执行
[root@yankerp src]# source test.sh {a..z}
a b c d e f g h i j k l m n o
4)$0特殊变量实战
[root@yankerp src]# cat y.sh #!/bin/bash echo $0
当我们不带路径运行脚本,它会打印脚本的名称,如下:
[root@yankerp src]# sh y.sh y.sh
当我们带绝对路径来执行脚本时,它会输出路径+脚本名
[root@yankerp src]# sh /usr/local/src/y.sh /usr/local/src/y.sh
介绍dirname ---- basename
[root@yankerp src]# dirname /usr/local/src/y.sh /usr/local/src [root@yankerp src]# basename /usr/local/src/y.sh y.sh
·dirname功能:获取脚本的路径
·basename:获取脚本的名称
例如:
[root@yankerp src]# cat y.sh #!/bin/bash dirname $0 basename $0 [root@yankerp src]# sh /usr/local/src/y.sh /usr/local/src y.sh [root@yankerp src]#
5)$#特殊变量获取传参个数实践
[root@yankerp src]# cat test.sh
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 < 9个位置参数变量
echo $# <----加入$#
[root@yankerp src]# source test.sh {a..z} <传入26个字符
a b c d e f g h i -----<只接收9个变量
26 ----<传入26个字符。因此这里显示26
[root@yankerp src]#
实例1:条件表达式判断语句如下:
#!/bin/bash
[ $# -ne "2" ] && { #如果用户输入的传参个数不等于2
echo "请输出正确的数值" #那么输出此信息
exit 1 #随后退出脚本
}
echo "输入正确" #如果输入的传参个数是2 那么就输出此信息
运行脚本如下:
[root@yankerp src]# sh p.sh 请输出正确的数值 [root@yankerp src]# sh p.sh zhangsan lisi 输入正确 [root@yankerp src]#
IF语句判断如下:
#!/bin/bash if [ $# -ne "2" ] -------如果输入的传参个数不是2 then ------那么 echo "/usr/local/src/ $0 请输入正确的值" --输出一个/usr/local---路径加$0 $0表示输出运行脚本的名称 else echo "输入正确" fi










