我在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
等)吗?
答案 0 :(得分:2)
解决方法是使用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"