我们有一个 Arduino Yun Rev 2,通过 YunDiskExpander sketch 将 extroot 设置到 32 GB sandisk microSD 上,分区为 512 MB 用于 extroot。
然而奇怪的是,每当我们使用 ls 时,结果都会以[
一个数字(通常是1
)和;
另外两个数字(通常是34
)字母开头m
,然后我们得到文件或文件夹名称,然后总是[m
附加到它。当 vim 在 Arduino 上运行时,这似乎也发生在每个角色上。
我们通过公开可用的串行监视器作为终端草图访问它。这些意想不到的角色明显阻碍了开发,因此我们将不胜感激任何帮助。
您描述的内容是(部分)转义序列,负责更改文本的前景色。在我的 Debian
ls
中可能会生成以下示例输出:其中
^[
代表单个字符:转义字符 (0x1b
)。支持此功能的终端在收到此类数据后应foobar
以蓝色打印。你没有提到零,我的测试表明它^[[1;34mfoobar^[[m
也有效,所以你可能会ls
生成后一种形式。ls
尝试为其输出着色,但看起来转义字符由于某种原因在传输中丢失,或者它们被正确传输但您的终端忽略它们(既不打印它们的表示也不识别后面的控制序列)。实际上你看到:没有选项的Pure
ls
不应该使用颜色,POSIX没有提到颜色。不过,实现可能会为您提供对输出进行着色的选项,并且ls
作为ls --color=auto
. 通常这很有效,用户甚至可能不知道涉及别名。检查这种情况是否适合您的情况:invokealias ls
。我想是的。可能的解决方案:
ls --color=no
;command ls
;unalias ls
:;