替换:如果表达式中含有特殊字符,shell会进行替换。例如在双引号中使用变量就是一种替换。转义字符也是一种替换
#!/bin/bash
a=10
echo -e "Value of a is ${a} \n"
#-e表示对转义字符替换,不加的话输出如下#
echo "Value of a is ${a} \n"
转义字符替换
自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!下列转义字符可用于echo
1. \\ 反斜杠
2. \a 警报,响铃 ?
3. \b 退格 (删除键)?
4. \f 换页,将当前的位置移到下页开头
5. \n 换行
6. \r 回车
7. \t 一个缩进
8. \v 垂直制表符 ?
示例如下:
1 echo -e "Value of a is ${a} \\"
2 echo -e "Value of a is ${a} \t ${a}"
可以使用 echo 命令的 -E 选项禁止转义,默认也是不转义的;使用 -n 选项可以禁止插入换行符
命令替换
shell先执行命令,将输出结果暂时保存,在适当的地方输出
语法 `command` “是Esc下面那个
示例如下:
1 DATE=`date`
2 echo "Date is ${DATE}"
3
4 USERS=`who | wc -l`
5 echo "Logged in usr are $USERS"
6
7 UP=`date ; uptime`
8 echo "Uptime is ${UP}"
变量替换
可以根据变量的状态(空?定义?)来改变它的值
可以使用的变量替换形式如下
1. ${var} 变量原本的值
2. ${var:-word} 如果变量var为空或已被unset,那么返回word,但不改变其值
3. ${var:=word} 如果变量var为空或已被unset,那么返回word,并将其值设为 word
4. ${var:?message} 如果变量var为空或已被unset,那么将message送到标准错误输 出,可以用来检测变量var是否可以被正常赋值
若此替换出现在shell脚本中,那么脚本将停止运行
6. ${var:+word} 如果变量var被定义,那么返回word,但不改变其值
示例如下:
1 echo ${var:-"Variable is not set"}
2 echo " 1-Value of var is ${var} "
3
4 unset var
5 echo ${var:+"This is default value"}
6 echo "3-Value of var is ${var}"
7
8 echo ${var:="Variable is not set"}
9 echo " 2-Value of var is ${var} "
10
11 var="ChenMo"
12 echo ${var:?"Print this message"} #把ChenMo输出终端#
13 echo "4-Value of var is ${var}"
14
15 var="Matto"
16 echo ${var:+"This is default valus"}
17 echo "Value of var is ${var}"
