为什么bash此处字符串会添加结尾的换行符?

彼得·奥

以下示例显示了将一个换行符添加到here-string的情况
为什么要这样做?

xxd -p <<<'a'  
# output: 610a

xxd -p <<<'a
'
# output: 610a0a
吉勒斯“别再邪恶了”

简单的答案是因为ksh是用这种方式编写的(并且bash是兼容的)。但是选择这种设计是有原因的。

大多数命令要求输入文本。在unix世界中,文本文件由一系列行组成,每行以换行符结尾因此,在大多数情况下,需要最后一个换行符。一个特别常见的情况是使用命令替代来获取命令的输出,以某种方式对其进行处理,然后将其传递给另一个命令。命令替换除去最后的换行符;<<<放回去。

tmp=$(foo)
tmp=${tmp//hello/world}
tmp=${tmp#prefix}
bar <<<$tmp

Bash和ksh无论如何都不能操纵二进制数据(它不能处理空字符),因此它们的功能面向文本数据也就不足为奇了。

<<<下面的字符串语法大多只是为了方便反正,就像<<这里的文档。如果不需要添加最后的换行符,请使用echo -n(在bash中)或printf和管道。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Bash在此处扩展字符串时总是添加换行符?

来自分类Dev

按空格分隔字符串会删除换行符

来自分类Dev

为什么我的 JTextArea 没有从我的字符串中添加换行符?

来自分类Dev

什么是“字符串结尾的换行符”关系到$元字符?

来自分类Dev

Java:测试字符串是否以换行符结尾

来自分类Dev

awk错误(换行符或字符串结尾)

来自分类Dev

Java:测试字符串是否以换行符结尾

来自分类Dev

Python:为什么字符串的每个字符都在换行符上

来自分类Dev

为什么yaml解释器在80个字符左右添加换行符?

来自分类Dev

为什么ctime()返回的字符串包含换行符?

来自分类Dev

为什么将换行符写为字符串?

来自分类Dev

为什么将换行符写为字符串?

来自分类Dev

在Scilab中向字符串添加换行符

来自分类Dev

在动态字符串中添加换行符?

来自分类Dev

如何在字符串中添加换行符?

来自分类Dev

javascript / angular:通过字符串添加“换行符”

来自分类Dev

javascript / angular:通过字符串添加“换行符”

来自分类Dev

javascript / angular:通过字符串添加“换行符”

来自分类Dev

向PHP字符串添加换行符

来自分类Dev

用换行符替换字符串并添加文本

来自分类Dev

添加换行符时打印字符串

来自分类Dev

在字符串中间添加换行符的脚本

来自分类Dev

用换行符在bash中构建字符串

来自分类Dev

为什么IDLE在我的代码后添加换行符?

来自分类Dev

添加换行符会破坏JSX。为什么?

来自分类Dev

为什么粘贴命令添加换行符?

来自分类Dev

为什么换行符在导致该字符串的字符串之前的位置未得到打印?

来自分类Dev

为什么访问以空值结尾的字符串会给出“垃圾或未定义”信息?

来自分类Dev

当字符串文字以换行符\ n结尾时,strdup对大小4的读取无效

Related 相关文章

  1. 1

    为什么Bash在此处扩展字符串时总是添加换行符?

  2. 2

    按空格分隔字符串会删除换行符

  3. 3

    为什么我的 JTextArea 没有从我的字符串中添加换行符?

  4. 4

    什么是“字符串结尾的换行符”关系到$元字符?

  5. 5

    Java:测试字符串是否以换行符结尾

  6. 6

    awk错误(换行符或字符串结尾)

  7. 7

    Java:测试字符串是否以换行符结尾

  8. 8

    Python:为什么字符串的每个字符都在换行符上

  9. 9

    为什么yaml解释器在80个字符左右添加换行符?

  10. 10

    为什么ctime()返回的字符串包含换行符?

  11. 11

    为什么将换行符写为字符串?

  12. 12

    为什么将换行符写为字符串?

  13. 13

    在Scilab中向字符串添加换行符

  14. 14

    在动态字符串中添加换行符?

  15. 15

    如何在字符串中添加换行符?

  16. 16

    javascript / angular:通过字符串添加“换行符”

  17. 17

    javascript / angular:通过字符串添加“换行符”

  18. 18

    javascript / angular:通过字符串添加“换行符”

  19. 19

    向PHP字符串添加换行符

  20. 20

    用换行符替换字符串并添加文本

  21. 21

    添加换行符时打印字符串

  22. 22

    在字符串中间添加换行符的脚本

  23. 23

    用换行符在bash中构建字符串

  24. 24

    为什么IDLE在我的代码后添加换行符?

  25. 25

    添加换行符会破坏JSX。为什么?

  26. 26

    为什么粘贴命令添加换行符?

  27. 27

    为什么换行符在导致该字符串的字符串之前的位置未得到打印?

  28. 28

    为什么访问以空值结尾的字符串会给出“垃圾或未定义”信息?

  29. 29

    当字符串文字以换行符\ n结尾时,strdup对大小4的读取无效

热门标签

归档