转义() :
转义是一种引用单个字符的方法.一个具有特殊含义的字符前边放上一个转义符()就告诉shell 这个字符失去了特殊的含义. 值得注意的是,在某些特定的命令和工具中,比如echo和sed, 转义符往往会起到相反的效果, 它反倒有可能引发出这个字符特殊的含义.
[root@ www.linuxidc.com ]# echo hello!
hello!
[root@ www.linuxidc.com ]# echo -e x y
xty
[root@ www.linuxidc.com ]# echo -e "x y"
x y[root@ www.linuxidc.com ]# echo "why can"""t I write"
why can"t I write
" 单词分隔", 在这个上下文中意味着,将一个字符串分隔为一些分离的参数.
单引号操作总体上和"" 很像,但不允许引用变量.因为$ 的特殊含义被关闭了.在"" 中除了", 其他字符都没有特殊的含义了.所以单引号比双引号严格.因为即使是, 在""中都被关闭了,所以你想在"" 中显示"的含义,将得不到预期的效果.[root@ www.linuxidc.com ]# var=""(]\{}$""
[root@ www.linuxidc.com ]# echo $var
"(]{}$"
[root@ www.linuxidc.com ]# echo "$var"
"(]{}$" #并没有什么不同
[root@ www.linuxidc.com ]# IFS="" #IFS 是linux的一个全局变量。其实就是个空格分隔符(默认),可以自己更改
[root@ www.linuxidc.com ]# echo $var
"(] {}$"
[root@ www.linuxidc.com ]# echo "$var"
"(]{}$" #被换成了空格
对于特定的转义符的特殊的含义
在echo和sed 中所使用的
意味着新的一行
回车
tab 键
v vertical tab(垂直tab),查前边的 Ctl-K
backspace, 查前边的Ctl-H
a "alert"(如beep或flash)