CentOS
丛书目录 —
系
统管理 —
网络服务 —
应用部署
深入
Shell
变量操作
变量替换扩展
在
Shell
变量和
Shell
环境 中已经介绍了变量赋值和基本的变量替换。并已经知道
${var}
与
$var
相同,
下面介绍变量替换扩展。
*
如果变量
var
已经被设置,那么其值就是
$var
。
下面举例说明变量替换扩展的使用方法。
#
将变量
var1
的值赋为空
$ var1=
$ var2=unix
#
因为
var1
已被声明,所以返回
var1
的值
$ echo ${var1-linux}
#
因为
var1
已被声明且值为空,所以返回
linux
$ echo ${var1:-linux}
linux
#
因为
vara
未被声明,所以返回
linux
$ echo ${vara-linux}
linux
#
打印变量的值
$ echo $var1,$var2,$vara
,unix,
#
当
var2
已赋值且值不为空,返回
var2
的值
#
此时,
${var2-linux}
与
${var2:-linux}
相同
$ echo ${var2-linux}
unix
$ echo ${var2:-linux}
unix
#
因为
var1
已被声明(虽然值为空),所以返回
linux
$ echo ${var1+linux}
linux
#
因为
var2
已被声明,所以返回
linux
$ echo ${var2+linux}
linux
内容提要
1.
掌握变量替换扩展的使用
2.
掌握变量的字符串操作
3.
掌握使用
(())
进行变量的整数计算
4.
学会使用
read
命令从标准输入读取变量的值
表达式 说明
${var-DEFAULT}
若var没被声明,则以 DEFAULT 作为其值 *
${var:-DEFAULT}
若var没被声明或者其值为空, 则以 DEFAULT 作为其值 *
${var=DEFAULT}
若
var
没被声明,则以
DEFAULT
作为其值
*
${var:=DEFAULT}
若var没被声明或者其值为空, 则以 DEFAULT 作为其值 *
${var+OTHER}
若var被声明了,那么其值就是 OTHER,否则就为空
${var:+OTHER}
若var被声明了或者其值不为空,那么其值就是 OTHER,否则就为空
${!varprefix*}
匹配之前所有以varprefix开头进行声明的变量
${!varprefix@}
匹配之前所有以varprefix开头进行声明的变量