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

来源:互联网 发布:淘宝客域名注册技巧 编辑:程序博客网 时间:2024/04/25 06:27

      转载自:http://c.biancheng.net/cpp/view/2737.html


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


echo命令用法:http://blog.csdn.net/u012005313/article/details/46127765


转义字符


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


#!/bin/basha=10echo -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/bashDATE=`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/bashecho ${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 varecho ${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}"

运行结果为:



0 0