导航

shell转义符

Posted on 2018-05-23 14:39  张鑫的园子  阅读(2207)  评论(0编辑  收藏  举报

转义是一种引用单个字符的方法. 一个前面放上转义符 (\)的字符就是告诉shell这个字符按照字面的意思进行解释, 换句话说, 就是这个字符失去了它的特殊含义.

在某些特定的命令和工具中, 比如echosed, 转义符往往会起到相反效果 - 它反倒可能会引发出这个字符的特殊含义.

特定的转义符的特殊的含义

echosed命令中使用
\n

表示新的一行

\r

表示回车

\t

表示水平制表符

\v

表示垂直制表符

\b

表示后退符

\a

表示"alert"(蜂鸣或者闪烁)

\"

表示引号字面的意思

  1 echo "Hello"                  # Hello
  2 echo "\"Hello\", he said."    # "Hello", he said.

 

\$

表示$本身子面的含义(跟在\$后边的变量名将不能引用变量的值)

  1 echo "\$variable01"  # 结果是$variable01

 

\\

表示反斜线字面的意思

 

\0xx

转换为八进制的ASCII码, 等价于0xx

 

echo "foo
bar" 
#foo
#bar

echo

echo 'foo
bar'    # 没什么区别.
#foo
#bar

echo

echo foo\
bar     # 换行符被转义.
#foobar

echo

echo "foo\
bar"     # 与上边一样, \在部分引用中还是被解释为续行符. 
#foobar

echo

echo 'foo\
bar'     # 由于是全引用, 所以\没有被解释成续行符. 
#foo\
#bar