我正在启动与Cygwin捆绑的 SSH 工具, 使用 Java 的 ProcessBuilder 类。 一切正常。 我连接到 SSH 上的 linux 服务器, 可以运行命令并读取输出 。
然而,每当返回输出时, 只有在登录到服务器和运行命令( 如目录列表 < code> > ls code > ) 之后, 才会返回这样的输出 :
InputStream: root@myserver:/scripts/common# ls
InputStream: [00m[00mA1-4.yaml[00m [01;32mscip-1.2.0.linux.x86_64.gnu.opt.qso[00m
InputStream: [00madditional_files.txt[00m [01;32mscip-1.2.0.linux.x86_64.gnu.opt.spx[00m
据我所知,它只发生在文件列表命令中。例如,当我运行像时间这样的其它命令时, 它会显示正常输出 。
你能建议在文件名中附加这些随机字符的是什么吗?
我甚至试图使用 UTF8 编码,但是没有变化。 当我使用命令行直接登录时, 我看不到这些结果。 但是, cmdline 显示的是彩色值中的文件名称。 是否添加了一些不是 ASCII 的额外信息?