Escape character(\
)可用于逃避行尾,例如
% echo This could be \
a very \
long line\!
This could be a very long line!
%
Run Code Online (Sandbox Code Playgroud)
但是,它不是由\n
两个字符表示的行尾(换行).不应该逃避的结果是字面意思\n
.例如
%echo $'\\n'
\n
%
Run Code Online (Sandbox Code Playgroud)
谢谢您的回答!
编辑:对不起,我没有解释得那么好.我不是想回应一条新线.我想知道为什么\
能够使用\n
两个字符的新行字符()而不是在新行字符中转义反斜杠并生成\n的字面值
Mar*_* K. 18
其实,\n
是不是真的一个换行符-这是一个转义序列代表一个新行(这是Linux的一个字符).在\
一行的末尾逃脱实际您在使用回车键输入换行符.您可以使用hexdump查看ASCII值代表不同的字符:
%echo $'\\n'
\n
%echo $'\\n' | hexdump -C
00000000 5c 6e 0a |\n.|
00000003
Run Code Online (Sandbox Code Playgroud)
你会注意到echo打印出3个字符:\
(5c),n
(6e)和换行符(0a).您还会注意到,在hexdump输出的右侧,换行符显示为".",因为它被视为非打印字符.
归档时间: |
|
查看次数: |
49193 次 |
最近记录: |