您的位置:首页 > 运维架构 > Shell

Linux Shell替换:转义字符,命令替换,变量替换

2015-10-07 18:43 507 查看
转载自:http://c.biancheng.net/cpp/view/2737.html

#######################################################3

echo命令用法:/article/9770123.html

转义字符

如果表达式中存在特殊字符,Shell将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换

#!/bin/bash

a=10
echo -e "the number of a is $a \n"




运行结果为:



此处-e选项表示对转义字符进行替换。如果不使用-e选项,将会原样输出:



运行结果为:



常用转义字符:

\\反斜杠
\a警报,响铃
\b退格(删除键)
\f换页(FF),将当前位置移到下页开头
\n换行
\r回车
\t水平制表符(tab键)
\v垂直制表符
echo默认为-E选项:禁止转义;使用-n可以禁止使用换行符

########################################################

命令替换

Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出

语法:

`command`


note that:使用的是反引号,不是单引号(反引号在Esc键上方)

#!/bin/bash

DATE=`date`
echo "Date is $DATE"




运行结果为:



###################################################

变量替换

变量替换可以根据变量的状态(是否为空 / 是否定义等)来改变它的值

可以使用的变量替换形式:

形式说明
${var}变量本来的值
${var:-word}如果变量为空或已被山粗(unset),那么返回word,但不改变var的值
${var:=word}如果变量为空或已被删除,那么返回word,并将var的值设置为word
${var:?message}如果变量var为空或已被删除(unset),那么将消息message送到标准错误输出,可以用来检测变量var是否可以被正常赋值

若此替换出现再Shell脚本中,那么脚本将停止运行
${var:+word}如果变量var被定义,那么返回word,但不改变var的值
#!/bin/bash

echo ${var:-"Variable is not set"}
echo "1-Value of var is ${var}"

echo ${var:="Variable is not set"}
echo "2-Value of var is ${var}"

unset var
echo ${var:+"This is default value"}
echo "3-Value of var 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}"




运行结果为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: