我有一个 shell 脚本 (build.sh),它以尝试将一些文件复制到新目录中结束。然而它说:
mkdir:无法创建目录“/files/ondisk/shared//comp/auto/bleeding-1169-b28d31a”:权限被拒绝
运行脚本时。
命令是:
( umask 000; mkdir -p "${BASE}/${TARGET}" ) || exit -1
( umask 000; cp -r ${STORE} "${BASE}/${TARGET}" ) || exit -1
umask 000 是否不能确保我能够写入该位置?
答案1
路径名中的双斜杠看起来很奇怪。也许你没有权限写${BASE}
,这可能是/files/ondisk/shared
。该umask
值无关紧要,因为它只影响创建的目录和文件的权限,mkdir
而不cp
影响要复制到的现有目录的权限。