shell第十课:字符串操作和转意字符串中的特殊字符

2015年08月27日 23:06 by:唠吧小站

shell 用-e 转意字符串中的特殊字符

转义字符 含义
\ 反斜杠
a 警报,响铃
b 退格(删除键)
f 换页(FF),将当前位置移到下页开头
n 换行
r 回车r 在linux系统会出现一些奇怪的状况应该尽量避免在linux系统中使用r
t 水平制表符(tab键) 
v 垂直制表符
在字符串中这些特殊字符串要用-e转意才会正确输出到,而 -E 选项禁止转义,当然不写默认状态也是不转义的;使用 -n 选项可以禁止插入换行符。


举个例子:
  1. #!/bin/bash
  2. str='lao8.org'
  3. echo "This string is $strn"
  4. echo -e "This string is $strn"

运行结果:

  1. [root@li411-50 sh]# ./test.sh
  2. This string is lao8.orgn
  3. This string is lao8.org

变量替换

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

可以使用的变量替换形式:
形式 说明
${var} 变量本来的值
${var:-word} 如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 的值。
${var:=word} 如果变量 var 为空或已被删除(unset),那么返回 word,并将 var 的值设置为 word。
${var:?message} 如果变量 var 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 var 是否可以被正常赋值。
若此替换出现在Shell脚本中,那么脚本将停止运行。
${var:+word} 如果变量 var 被定义,那么返回 word,但不改变 var 的值。

用法举例:

 ${myweb:='www.lao8.org'}