我一直在尝试更改SAS代码创建的所有输出数据集的权限。 我知道我可以使用chmod命令发布数据集的创建来更改权限。但是,如果我从代码中获得多个输出并且我想要更改其权限,那么如何在代码中创建的每个数据集上动态应用chmod而无需手动提供数据集名称呢? 防爆。如果我的SAS代码执行此操作:
`Data Lib1.test1
Lib2.test2
Lib3.test3;
Set Work.Test;
If (certain conditions) then output Lib1.test1;
If (certain conditions) then output Lib2.test2;
If (certain conditions) then output Lib3.test3;
run;`
如何在创建完成后将chmod应用于所有这些数据集,而无需手动提供数据集名称。我知道&syslast
可以给我最后一个触摸的数据集,但其他两个呢?
附:我无法在这里更新数据步骤代码块,我只能在上面提到的数据步骤结束后添加代码。
我尝试在会话的最开始使用Umask命令,但它不允许我设置执行权限。
X umask 000
它仅为数据集设置rw,rw,rw
设置,但不授予u=rwx,g=rwx,o=rwx
权限。
答案 0 :(得分:3)
两个选项:
chmod g+s /mydir
chmod g=rw /mydir/*.sas7bdat