【问题标题】:BASH/Readline Verbatim Null CharacterBASH/Readline 逐字空字符
【发布时间】:2013-04-13 18:59:44
【问题描述】:

我试图准确地了解在 TTY、内核、线路规程和 shell 集合中谁真正处理我输入的任何给定部分。特别是,我一直在研究这篇文章:

The TTY demystified

我的问题:如果我想让实际的删除字符出现在 BASH 中,我可以使用 ^V 逐字逐句。例如。我可以使用 Ctrl+V 然后 Ctrl+H 有一个退格字符。很整洁!

echo '3^H'
3

我的问题是:如果我在以规范模式读取的内容(我相信 cat 这样做)我可以通过执行 Ctrl+V 然后 Ctrl+2(基本上是 Ctrl+@,即空字符的插入符号)。

不过,BASH 不允许我在其中一行包含逐字空字符,而且看起来 python 和其他 readline 程序也不会。

有人知道这是为什么,还是通用的解决方法?

【问题讨论】:

    标签: bash readline null-character


    【解决方案1】:

    C 库使用文字 null 作为字符串终止符,因此任何使用它的东西都无法表示包含文字 null 的字符串。

    需要支持文字空值的程序定义自己的字符串数据类型。

    【讨论】:

    • C库是指C标准库,还是readline?或者,第三,您是指 C 标准库,因此是 readline?
    • C 语言、它的编译器、运行时和库。
    猜你喜欢
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多