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

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


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


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


转义字符


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


#!/bin/bash

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

Linux Shell替换:转义字符,命令替换,变量替换_第1张图片
运行结果为:



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

Linux Shell替换:转义字符,命令替换,变量替换_第2张图片

运行结果为:


常用转义字符:

                       
   
   
   
   
   
   
   
   


\\ 反斜杠
\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"

Linux Shell替换:转义字符,命令替换,变量替换_第3张图片

运行结果为:


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


变量替换


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


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

形式 说明
${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}"

Linux Shell替换:转义字符,命令替换,变量替换_第4张图片

运行结果为:

Linux Shell替换:转义字符,命令替换,变量替换_第5张图片


你可能感兴趣的:(linux,shell,脚本)