android - init.rc 中的 mkdir

标签 android system mkdir

初始化文件

第 264 行---mkdir/data/misc/radio 0770 radio radio

我想将/data/misc/radio 的权限更改为 0775。

我在上一行旁边写了这个: 第 265 行 ---chmod 0775/data/misc/radio

如果我将第 264 行更改为此 ---mkdir/data/misc/radio 0775 radio radio..

这条线路有什么问题? 有人说,如果 mkdir 失败(如果目录已经存在),则权限不会设置为 0775。因此,为了确保如果 mkdir 失败,权限更改为 0775,我们在不同的行中编写了 chmod 命令。

但是有太多的 mkdir 命令使得不同的目录具有不同的权限,那么如果我们按照上面的场景进行操作,那么我们应该为每个 mkdir 命令提供不同的 chmod 命令吗?

最佳答案

当 init 执行 init.rc 脚本时,如果目录不存在,则 mkdir 将创建目录,如果目录不存在,则根据 mkdir 命令设置权限。

来自 aosp system/core/init/builtins.c 中的函数 do_mkdir()

ret = make_dir(args[1], mode);
/* chmod in case the directory already exists */
if (ret == -1 && errno == EEXIST) {
    ret = _chmod(args[1], mode);
}
if (ret == -1) {
    return -errno;
}

关于android - init.rc 中的 mkdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559056/

相关文章:

android - ANR Intent 广播 { act=android.intent.action.TIME_TICK flg=0x50000014 (has extras) } 问题

android - 如何在使用库的eclipse中导入android studio项目?

Android程序类型已经存在错误

d3.js - ReactJS + d3JS 组件中 d3.event 为 null

linux - 为什么 mkdir -p 在 checkinstall 调用的脚本中不能正常工作?

android - 谷歌地图正在显示但未在 android 中加载 map 和方向

ios - 切换音量时 UIView 覆盖是否有不同的 api?

c - 从 C 打开/运行另一个程序,然后关闭该程序

PHP mkdir 在 rmdir 之后不起作用

linux - 如何在linux中创建文件夹名称包含空格的文件夹?