替换:如果表达式中含有特殊字符,shell会进行替换。例如在双引号中使用变量就是一种替换。转义字符也是一种替换
#!/bin/bash a=10 echo -e "Value of a is ${a} \n"
#-e表示对转义字符替换,不加的话输出如下#
echo "Value of a is ${a} \n"
转义字符替换
下列转义字符可用于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}"
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux Gvim shell 替换:变量替换,命令替换,转义字符 - Python技术站