键盘在 gnome 终端中写入“坏”空格字符

yan*_*976 5 command-line keyboard gnome-terminal

看起来我的键盘随机插入了一个显示为空格字符但不是一个字符的字符,从而阻止了 shell 正确解释它。例如在下面的“排序”之前:

yannick@yannick-ubuntu:~/Pictures/Photos$ ls | grep "2015" | sort
No command ' sort' found, did you mean:
 Command 'psort' from package 'radiance' (universe)
 Command 'sort' from package 'coreutils' (main)
 Command 'tsort' from package 'coreutils' (main)
 Command 'msort' from package 'msort' (universe)
 sort: command not found
Run Code Online (Sandbox Code Playgroud)

如果我回到历史中,删除“坏”空间并再写一个,则该命令可以正常工作:

yannick@yannick-ubuntu:~/Pictures/Photos$ ls | grep "2015" | sort
20150101
20150103
20150107
20150109
20150111
20150115
Run Code Online (Sandbox Code Playgroud)

任何想法会发生什么?

我使用键盘输入所有命令(没有复制/粘贴),我在 ubuntu 14.04 上使用 gnome 终端,我有一个法语(azerty)键盘。

yan*_*976 6

其实我想通了!当我按AltGr+ 时Space,会插入一个不间断的空格,它看起来完全像一个空格……但不是一个空格

在法语键盘上,管道字符使用AltGr+插入6。有时发生的情况是AltGr当我按下 时 仍然关闭Space,这就是插入这个“坏”空格字符的原因。

这个问题在启动板上有一个错误报告。建议的解决方案是使用以下命令,以便不插入不间断空格:

setxkbmap -option "nbsp:none"
Run Code Online (Sandbox Code Playgroud)

为了永久地做到这一点,我添加了该行.bashrc并且它工作正常!请注意,这样做是.profile行不通的(我想如果它不在.bashrcshell 中,则会在启动时覆盖它)