Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1008241
  • 博文数量: 195
  • 博客积分: 4890
  • 博客等级: 上校
  • 技术积分: 2221
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-09 15:34
文章分类

全部博文(195)

文章存档

2014年(1)

2013年(8)

2012年(22)

2011年(9)

2010年(54)

2009年(101)

我的朋友

分类: LINUX

2009-08-19 09:08:36

${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]#
 
 

 
阅读(855) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~