如何从Perl设置文件权限?

And*_*rew 13 perl

我正在编写一个生成Bash脚本的Perl脚本.我正在使用open()一种模式>将所有内容输出到一个新文件.标准材料:

open (FILEOUT, ">", "rename.sh") or die "Can't create rename.sh";
Run Code Online (Sandbox Code Playgroud)

得到的.sh,它说我可以添加一个文件是只读的,随着444的八进制值在的perldoc +>(open (FILEOUT, "+>", "rename.sh")),使新创建的文件读写,或666.

有没有办法使新文件可执行(755或其他任何东西)使用open()?如果没有,为新文件设置文件权限的最佳方法是什么?

Leo*_*ans 19

你会想要像这样chmod文件.

chmod 0755, $filename;
#or
chmod 0755, $fh;
Run Code Online (Sandbox Code Playgroud)

或者,如果你使用sysopen并适当地设置umask,你可以不用chmod.

  • 并且不要忘记领先的“0”;`chmod 755, $filename` 等价于 `chmod 01363 $filename` (2认同)