使用 echo 命令将八进制字符串写为 ASCII 字符
Writing an octal string as ASCII characters using echo command
我正在尝试从 java 代码创建 shell 脚本。我正在使用以下方法创建 shell 脚本。
String cmd = "echo -e \"echo -e abc\77\77\77\77\77\77\77\77\" > ";
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 "abc7777777777777777"
我做错了什么?知道如何解决这个问题吗?
不确定你为什么需要这个,但你可以在 echo
和 2 个反斜杠中使用单引号:
String cmd =
"echo -e 'echo -e abc\\0177\\0177\\0177\\0177\\0177\\0177\\0177\\0177' > ";
我正在尝试从 java 代码创建 shell 脚本。我正在使用以下方法创建 shell 脚本。
String cmd = "echo -e \"echo -e abc\77\77\77\77\77\77\77\77\" > ";
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 "abc7777777777777777"
我做错了什么?知道如何解决这个问题吗?
不确定你为什么需要这个,但你可以在 echo
和 2 个反斜杠中使用单引号:
String cmd =
"echo -e 'echo -e abc\\0177\\0177\\0177\\0177\\0177\\0177\\0177\\0177' > ";