我正在尝试从Java代码创建Shell脚本。我正在使用以下方法创建shell脚本。

 String cmd = "echo -e \"echo -e abc\\\0177\\\0177\\\0177\\\0177\\\0177\\\0177\\\0177\\\0177\" > ";

    String [] commands = { "/system/bin/sh", "-c", cmd + "script.sh " };
    Runtime.getRuntime().exec(commands);

但是,当我打开script.sh文件时,会看到以下内容:
echo -e abc\*7\*7\*7\*7\*7\*7\*7\*7

我想要的是以下内容:
echo -e "abc\0177\0177\0177\0177\0177\0177\0177\0177"

我在做什么错?任何想法如何解决这个问题?

最佳答案

不确定为什么需要这样做,但是可以在echo和2个反斜杠中使用单引号:

String cmd =
 "echo -e 'echo -e abc\\\\0177\\\\0177\\\\0177\\\\0177\\\\0177\\\\0177\\\\0177\\\\0177' > ";

08-26 01:38