${variable name} 显示实际值到variable name
${variable name:+value} 如果设置variable name值,则显示value值,否则为空
${variable name:?value} 如果未设置variable name值,则显示用户定义错误值value,否则返回variable name值
${variable name:-value} 如果未设置variable name值,则显示value值,否则显示variable name值
${variable name:=value} 如果未设置variable name值,则设置其值为value,并显示,否则显示variable name值
[root.adminssh@hntx-zz-nyl-ems1 ~]$ su --
Password:
[root@hntx-zz-nyl-ems1 root.adminssh]# lyf=liyongfeng
[root@hntx-zz-nyl-ems1 root.adminssh]# echo $lyf
liyongfeng
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf,true}
bash: ${lyf,true}: bad substitution
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf:+true}
true
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf1:+true}
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf:?cuowu}
liyongfeng
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf1:?cuowu}
bash: lyf1: cuowu
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf1:-cuowu}
cuowu
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf:-cuowu}
liyongfeng
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf:=cuowu}
liyongfeng
[root@hntx-zz-nyl-ems1 root.adminssh]# echo ${lyf1:=nihao}
nihao
[root@hntx-zz-nyl-ems1 root.adminssh]# echo $lyf1
nihao
[root@hntx-zz-nyl-ems1 root.adminssh]#
位置变量,特殊变量的使用
[root@HNZZ-NX-CNL-EMS root.adminssh]# cat test.sh
#!/bin/bash
#test shell
echo "这个脚本的名称:$0"
echo "这个脚本的第一个位置的参数:$1"
echo "这个脚本的第二个位置的参数:$2"
echo "这个脚本的第三个位置的参数:$3"
echo "这个脚本的第四个位置的参数:$4"
echo "这个脚本的第五个位置的参数:$5"
echo "这个脚本的第六个位置的参数:$6"
echo "这个脚本的第七个位置的参数:$7"
echo "这个脚本的第八个位置的参数:$8"
echo "这个脚本的第九个位置的参数:$9"
echo "显示参数个数:$#"
echo "显示脚本全部参数:$*"
echo "显示进程ID:$$"
echo "显示前一条命令运行后的状态:$?"
[root@HNZZ-NX-CNL-EMS root.adminssh]# chmod 755 test.sh
[root@HNZZ-NX-CNL-EMS root.adminssh]# ./test.sh A B C D E F G H I
这个脚本的名称:./test.sh
这个脚本的第一个位置的参数:A
这个脚本的第二个位置的参数:B
这个脚本的第三个位置的参数:C
这个脚本的第四个位置的参数:D
这个脚本的第五个位置的参数:E
这个脚本的第六个位置的参数:F
这个脚本的第七个位置的参数:G
这个脚本的第八个位置的参数:H
这个脚本的第九个位置的参数:I
显示参数个数:9
显示脚本全部参数:A B C D E F G H I
显示进程ID:13728
显示前一条命令运行后的状态:0
[root@HNZZ-NX-CNL-EMS root.adminssh]#
shift [n] 用于移动位置变量,调整位置变量,使$3的值赋予$2,$2的值赋予$1
#!/bin/bash
#test shell
echo "这个脚本的名称:$0"
echo "这个脚本的第一个位置的参数:$1"
echo "这个脚本的第二个位置的参数:$2"
echo "这个脚本的第三个位置的参数:$3"
echo "这个脚本的第四个位置的参数:$4"
echo "这个脚本的第五个位置的参数:$5"
echo "这个脚本的第六个位置的参数:$6"
echo "这个脚本的第七个位置的参数:$7"
echo "这个脚本的第八个位置的参数:$8"
echo "这个脚本的第九个位置的参数:$9"
echo "显示参数个数:$#"
echo "显示脚本全部参数:$*"
echo "显示进程ID:$$"
echo "显示前一条命令运行后的状态:$?"
shift
echo "这个脚本的第一个位置的参数:$1"
echo "这个脚本的第二个位置的参数:$2"
[root@hadx-zz-evod1 root.adminssh]# ./test A B C D E F G H
这个脚本的名称:./test
这个脚本的第一个位置的参数:A
这个脚本的第二个位置的参数:B
这个脚本的第三个位置的参数:C
这个脚本的第四个位置的参数:D
这个脚本的第五个位置的参数:E
这个脚本的第六个位置的参数:F
这个脚本的第七个位置的参数:G
这个脚本的第八个位置的参数:H
这个脚本的第九个位置的参数:
显示参数个数:8
显示脚本全部参数:A B C D E F G H
显示进程ID:20758
显示前一条命令运行后的状态:0
这个脚本的第一个位置的参数:B
这个脚本的第二个位置的参数:C
[root@hadx-zz-evod1 root.adminssh]#
shift 3加入脚本test中
[root@hadx-zz-evod1 root.adminssh]# vi test
#!/bin/bash
#test shell
echo "这个脚本的名称:$0"
echo "这个脚本的第一个位置的参数:$1"
echo "这个脚本的第二个位置的参数:$2"
echo "这个脚本的第三个位置的参数:$3"
echo "这个脚本的第四个位置的参数:$4"
echo "这个脚本的第五个位置的参数:$5"
echo "这个脚本的第六个位置的参数:$6"
echo "这个脚本的第七个位置的参数:$7"
echo "这个脚本的第八个位置的参数:$8"
echo "这个脚本的第九个位置的参数:$9"
echo "显示参数个数:$#"
echo "显示脚本全部参数:$*"
echo "显示进程ID:$$"
echo "显示前一条命令运行后的状态:$?"
shift 3
echo "这个脚本的第一个位置的参数:$1"
echo "这个脚本的第二个位置的参数:$2"
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"test" 20L, 573C written
[root@hadx-zz-evod1 root.adminssh]# ./test A B C D E F G H
这个脚本的名称:./test
这个脚本的第一个位置的参数:A
这个脚本的第二个位置的参数:B
这个脚本的第三个位置的参数:C
这个脚本的第四个位置的参数:D
这个脚本的第五个位置的参数:E
这个脚本的第六个位置的参数:F
这个脚本的第七个位置的参数:G
这个脚本的第八个位置的参数:H
这个脚本的第九个位置的参数:
显示参数个数:8
显示脚本全部参数:A B C D E F G H
显示进程ID:20915
显示前一条命令运行后的状态:0
这个脚本的第一个位置的参数:D
这个脚本的第二个位置的参数:E
[root@hadx-zz-evod1 root.adminssh]#
阅读(850) | 评论(0) | 转发(0) |