我在 Linux 上,想分享 R
与同事一起输出,同时还允许他们覆盖我的文件。但是,当我编写文件时,该组的权限设置为只读,例如:
> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"
创建一个只能由我自己写的文件。有没有我可以设置的选项,以便我写的文件具有权限
660
为所有写入文件的方式( write.csv
、 data.table
等)自动设置?
最佳答案
解决方法是设置umask
使用 Sys.umask
如下。
# Before setting umask as in the question:
> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"
# Setting the umask results in succes:
Sys.umask("006")
> write.csv(data.frame(a = 1:3), file = "/tmp/test2.csv")
> file.mode("/tmp/test2.csv")
[1] "660"
关于r - 为 R 中创建的文件设置文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633935/