具有当前文件夹所有者和组的chown子文件夹


8

在bash脚本中,我想用该给定文件夹的用户和组所有者递归锁定任意文件夹的所有子文件夹。

我的方法就像使用 stat -c "%U %G" .

但这只会返回 username[whitespace]groupname

当然,我可以尝试使用其他工具来将空格替换为,:但是如果有的话,我宁愿使用一种更为“内置”的方式,仅将当前所有权应用于子文件夹。

Answers:


6

chown,例如chmod,可以使用参考:

chown [OPTION]... --reference=RFILE FILE...

Change the owner and/or group of each FILE to OWNER and/or GROUP.  With
--reference, change the owner and group of each FILE to those of RFILE.

所以:

chown --reference=/some/folder -R /some/folder

8

实际上,您不需要解析输出即可删除空格-您已在命令中添加了空格!首先,您可以按照自己的喜好格式化格式(使用chown的冒号语法):

$ stat -c "%U:%G" .
zanna:unicorns

因此,只需chown使用命令替换将其传递给:

chown -R $(stat -c "%U:%G" .) .

有时我只是看不见。谢谢!
Jankapunkt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.