假设我有一个文件,我想在Elixir中变成可执行文件,同时保留其原始权限。我该怎么办呢?我是否使用File.chmod
(如果是,如何?)或System.cmd
?
答案 0 :(得分:3)
您可能无法使用File.chmod
,因为它需要非负整数作为表达权限的方式,例如755,666等。因此,需要一个人设置所有权限,并且可能不允许保留现有权限。
File.chmod("file.sh", 755)
因此,System.cmd
似乎更合适,因为它执行chmod
系统命令。
{msg, result} = System.cmd "chmod", ["+x", filename], cd: pathname
#=> {"", 0}
result
值0
表示命令成功。
答案 1 :(得分:2)
看看瓷器。 https://github.com/alco/porcelain瓷器是与操作系统连接的更好方式。
答案 2 :(得分:1)
我可以在documentation中找到它应该是
File.chmod(path_file, 0o755)