在终端中键入空字符

fun*_*ode 12 linux terminal text

有没有办法在终端中输入空字符?

我想做的事情如下:

this is a sentence (null) test123
Run Code Online (Sandbox Code Playgroud)

tja*_*att 6

显然,您可以在某些字符集上使用^ @键入此字符.这篇关于null字符的维基百科文章可能会有所帮助.


Osk*_* N. 6

$ echo -e "this is a sentence \0 test123"
this is a sentence  test123
Run Code Online (Sandbox Code Playgroud)

The null here ^^ IS NOT visible

$ echo -e "this is a sentence \0 test123" | cat --show-nonprinting
this is a sentence ^@ test123
Run Code Online (Sandbox Code Playgroud)

But it IS here ^^

但是,也许您不想要此脚本?


uno*_*ode 6

在Linux中,通过按Ctrl+ v后跟实际符号,可以在终端上直接插入任何特殊字符.null通常是^@其中^代表Ctrl,并@为在产生你的键盘布局什么组合@.

所以在我的键盘上我做:Ctrl+ v后跟Ctrl+ Shift+ @,我得到一个^@具有杰出背景颜色的符号.这意味着它是一个特殊的角色,而不仅仅是^@中键入.

编辑:几年后,一些输入变体由不同的终端使用需要按下Shift访问的键盘布局实现@.

  • Ctrl+ v后跟Ctrl+ Shift+@
  • Ctrl+ v后跟Shift+ @ 释放Ctrl.
  • Ctrl+ Shift+ v后跟@ 释放Ctrl+ Shift.
  • Ctrl+ Shift释放Shift并重新按Shift保留两个Ctrl+ Shift压制之后v,终于@.在一些在Ctrl+ 上实现特殊输入的终端中看到Shift.

  • 通常,Ctrl-Space会输入一个空字符 - 具体取决于终端仿真程序.但是我遇到了一个问题,即Ubuntu 14.04.03 LTS下的xterm无法识别Ctrl-Space或Ctrl- @(也没有生成任何输入).但它适用于Linux Mint 17.1和17.2.仍在努力追查原因.(我使用^ @作为`screen`的命令字符.) (3认同)
  • 你说的是‘Vim’。Asker 正在谈论“Shell”。Vim 是唯一一种接受 NUL 组合的程序,也是唯一一种为其控制字符着色的程序。 (2认同)