我正在尝试从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' > ";