如何查看bash命令字符串的逐字符?
我今天早上在一个bash终端有这种奇怪的行为: user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true bash: [: missing «]» user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true true 第一个命令是用gedit编辑的脚本粘贴的。 第二个是直接在终端输入的。 经过一番挖掘,我发现删除第30个字符(client.conf和“]”之间的空格并用空格替换它使命令再次起作用。 我的假设是正确的:一个未知的空白角色已经进入命令,但问题是: 如何在终端中显示这些字符以便我可以调试命令?更重要的是: 我怎样才能防止这种情况再次发生? 顺便说一下,我运行Ubuntu 18.04 /法语,我粘贴命令的脚本是在USB驱动器中,也可能在Windows上编辑过。 谢谢你的非常好的答案。坏字符是c2 a0非破坏空间UTF-8字符。这个问题如何使用sed删除特殊“M-BM-的性格有关于性格有趣的事实。 奇怪的是剧本没有这个角色。所以我不知道它来自哪里。