~$ echo $'\'test'
'test
Run Code Online (Sandbox Code Playgroud)
man bash 说:
将字符括在单引号中会保留引号内每个字符的字面值。单引号之间不能出现单引号,即使前面有反斜杠。
为什么它在echo-command 中起作用呢?
moo*_*765 14
choroba的答案是完全正确的,这里的详细信息来自man bash:
$'string' 形式的词被特殊处理。这个词扩展为
字符串,用 ANSI C 指定的反斜杠转义字符替换
标准。反斜杠转义序列(如果存在)按如下方式解码:
\a 警报(响铃)
\b 退格
\e
\E 转义字符
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\\反斜杠
\' 单引号
\" 双引号
\? 问号
\nnn 八位字符,其值为八进制值
nnn(一到三位数)
\xHH 值为十六进制的八位字符
值 HH(一个或两个十六进制数字)
\uHHHH Unicode (ISO/IEC 10646) 字符,其值为
十六进制值 HHHH(一到四个十六进制数字)
\嗯嗯嗯嗯
Unicode (ISO/IEC 10646) 字符,其值为
十六进制值 HHHHHHHH(一到八个十六进制数字)
\cx 一个 control-x 字符
这就是为什么!
| 归档时间: |
|
| 查看次数: |
1728 次 |
| 最近记录: |