什么是Bash Escape Character“\ c”?

时间:2011-08-22 23:33:21

标签: bash unix escaping echo

Bash中\c转义字符的名称和功能是什么?它的数值是多少?我已经看到\cx是一个控制角色,但是普通\c呢?看来:

echo -e "Hello World\c"

echo -en "Hello World"

是等价的。但是,Python不会将它用作转义字符,并且在我找到的所有转义字符列表中都缺少它。这是特定于Bash的行为吗?

5 个答案:

答案 0 :(得分:15)

这实际上特定于echo的某些版本(我很确定\c来自SysV而-n版本是BSD-ism)。

它只是意味着不输出尾随换行符。

答案 1 :(得分:12)

请参阅echo man page中的Bash Builtins section of the Bash manual或有关回声的部分:

  

echo解释以下转义序列:

     

...
  \ C
  抑制进一步的输出

答案 2 :(得分:4)

这是'文本结束'控制字符;它告诉壳牌已经达到了文本的结尾。

不完全确定它是否相关,但我可能是错的。

这是doc:

http://en.wikipedia.org/wiki/ASCII#ASCII_control_characters

http://en.wikipedia.org/wiki/End-of-text_character

答案 3 :(得分:0)

您是否可以通过更多关于如何使用\ c的上下文来更新您的问题?

您可以使用\c来转义控制字符,例如写入文件或管道作为另一个命令的输入。

这将向终端写入文本“some command”,后跟二进制ctrl-d(ascii 0x4):

echo some control string $'\cd' 

从bash手册页中查看转义字符的完整列表: http://linux.die.net/man/1/bash

答案 4 :(得分:-1)

"\c" 表示不产生进一步的输出。