Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 仅在具有特定UID或GID的文件上运行chown_Bash - Fatal编程技术网

Bash 仅在具有特定UID或GID的文件上运行chown

Bash 仅在具有特定UID或GID的文件上运行chown,bash,Bash,如果文件的uid或gid是4294967295,我需要使用chown修改其权限。这将是cygwin()中rsync问题的bandaid解决方案 如何实现这一点?XY确实如此。只需使用查找: find yourdir \( -uid 4294967295 -o -gid 4294967295 \) \ -exec chown youruser:yourgroup {} + 哇,我已经涉猎了太多的语言,但我一个都不精通:)看起来不错,我要试试:)真可耻!我有点担心-o,意思是“expr1

如果文件的uid或gid是
4294967295
,我需要使用
chown
修改其权限。这将是cygwin()中rsync问题的bandaid解决方案


如何实现这一点?

XY确实如此。只需使用
查找

find yourdir \( -uid 4294967295 -o -gid 4294967295 \)  \
    -exec chown youruser:yourgroup {} +

哇,我已经涉猎了太多的语言,但我一个都不精通:)看起来不错,我要试试:)真可耻!我有点担心-o,意思是“expr1-o expr2 Or”;如果expr1为真,则不计算expr2,并且只要u或g的值不正确,chown就会同时改变u和g。我相信在某些情况下,g是坏的,而u是好的,你的代码似乎会把好的u变成你的用户。你也可以很容易地找到你的dir-uid 4294967295-exec chown你的用户:{}+-o-gid 4294967295-exec chown:yourgroup{}+
。我没有研究你的rsync问题,这个问题也没有澄清。我一直在试着看看它有多慢。无论如何,这似乎是答案,谢谢。如果我应该问的是这个,那可能不是XY[顺便说一句,下次你想在这种情况下使用
ls-R
时,请通读一遍。哇-哇谢谢,我会尝试发现“另一个家伙”建议伟大的编辑,谢谢查尔斯,我正在学习:)这是一个微妙的平衡——削减这么多可能会让人们因为你没有表明你至少自己尝试过某件事而不高兴。继续另一方面,在尝试实现的过程中隐藏您实际要完成的工作的细节也没有帮助。如果我再次这样做,我可能会使第二段更像:“我最近的一次尝试是通过
awk
过滤
ls-R
输出,但这种方法很困难;有更好的方法吗?”——这表明你自己确实付出了一些努力。同意,会做得更好!