shell脚本的简单使用:二——之变量替换

Shell变量替换,命令替换,转义字符
a=10
echo "a的值是$a\n"


echo -e "加了-e转义后a的值是$a\n"


#命令替换
#注意是反引号,不是单引号,这个键位于 Esc 键下方。
DATE=`date`
echo "Date is $DATE"

#当前登录的用户
Users=`who | wc -l`
echo "当前登录的用户是 $Users"

#最近更新时间是
Update=`date;uptime`
echo "uptime is $Update"



#变量替换
echo ${var:-"no values"}
echo "var is $var"

#赋值
echo ${var:="my first value"}
echo “var is $var”

unset var
echo ${var:+"this is default value"}
echo "var value is $var"



var="prefix"
echo ${var:+"This is default value"}
echo "4 - Value of var is $var"

echo ${var:?"Print this message"}
echo "5 - Value of var is ${var}"

执行结果
a的值是10\n
加了-e转义后a的值是10

Date is Tue Apr  4 18:16:49 CST 2017
当前登录的用户是 1
uptime is Tue Apr  4 18:16:49 CST 2017
 18:16:49 up 29 days, 22:11,  1 user,  load average: 0.00, 0.01, 0.05
no values
var is 
my first value
“var is my first value”

var value is 
This is default value
4 - Value of var is prefix
prefix
5 - Value of var is prefix


可以使用的变量替换形式:
${var} 变量本来的值
${var:-word} 如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 的值。
${var:=word} 如果变量 var 为空或已被删除(unset),那么返回 word,并将 var 的值设置为 word。
${var:?message} 如果变量 var 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 var 是否可以被正常赋值。
若此替换出现在Shell脚本中,那么脚本将停止运行。
${var:+word} 如果变量 var 被定义,那么返回 word,但不改变 var 的值。

猜你喜欢

转载自janle.iteye.com/blog/2367296