使用点 (.) 作为分隔符在 chown 中指定组

使用点 (.) 作为分隔符在 chown 中指定组

我一直都是这么做的:

chown nimmylebby:admins file

我发现这也有效:

chown nimmylebby.admins file

这个问题可能看起来有点傻,但我真的很好奇后者是如何工作的。它没有记录在我的 chown 手册页中(GNU coreutils 8.4,10/10)。这可能是 Bash 的解释吗?或者是参数的弃用格式?

答案1

来自切恩(8)Mac OS X 版本 10.9 上的手册页:

兼容性

以前版本的 chown 实用程序使用点 (``.'') 字符来区分组名。现已将其更改为冒号 (``:'') 字符,以便用户和组名可以包含点字符。

答案2

info coreutils 'chown invocation'对于 GNU coreutils

一些较旧的脚本可能仍使用“.”代替“:”分隔符。POSIX 1003.1-2001(参见标准一致性) 不需要支持这一点,但为了向后兼容,GNUchown支持“。”只要不产生歧义。新脚本应避免使用“。”,因为它不可移植,并且如果整个所有者“。”团体恰好识别出名字中包含‘.’的用户。

相关内容