嗨,所以我正在编写一个小应用程序,运行一些脚本,我写的脚本都存储在一个目录中,脚本偶尔会更改,有些会根据我的服务器不时删除/添加,所以我需要从应用程序运行命令以递归方式chmod目录中的所有文件,然后运行脚本我正在使用以下代码来chmod文件,但无法弄清楚如何对文件中的所有文件执行此操作目录
感谢您的帮助
//Code to chmod the file
execCommand("busybox chmod 755 ");
//execCommand Method
public Boolean execCommand(String command) {
try {
Runtime rt = Runtime.getRuntime();
Process process = rt.exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (IOException e) {
return false;
} catch (InterruptedException e) {
return false;
}
return true;
}
答案 0 :(得分:0)
busybox chmod接受-R recurse标志
或者你可以这么做:
busybox似乎没有足够完整的xargs命令(使用替换字符串选项)来处理chmod,希望将文件作为其最后一个参数而不是它的第一个参数。
这适用于我的:
busybox find |读取f;做chmod 755 $ f;完成
你或许可能没有;特别是,我不完全确定谁正在运行while循环 - busybox或工具箱。在我最近玩的一个供应商 - 股票图像设备上,而循环不起作用。它没找到......