Utilisation de point (.) Comme délimiteur pour spécifier le groupe dans chown

34

J'ai toujours fait:

chown nimmylebby:admins file

Je vois que ça marche aussi:

chown nimmylebby.admins file

Cela peut sembler une question idiote, mais je suis vraiment curieux de savoir comment cela fonctionne. Cela n'est pas documenté dans la page de manuel de mon chown (GNU coreutils 8.4, 10/10). Est-ce peut-être une interprétation de Bash? Ou un format obsolète pour l'argument?

Belmin Fernandez
la source

Réponses:

28

Dans la page de manuel chown (8) sur Mac OS X version 10.9:

COMPATIBILITÉ

Les versions précédentes de l'utilitaire chown utilisaient le caractère point («.») Pour distinguer le nom du groupe. Cela a été changé pour être un caractère deux-points (``: ''), de sorte que les noms d'utilisateur et de groupe puissent contenir le caractère point.

Nayden
la source
19

De info coreutils 'chown invocation'pour GNU coreutils:

Certains scripts plus anciens peuvent toujours utiliser '.' à la place du séparateur ':'. POSIX 1003.1-2001 (voir Conformité aux normes ) ne nécessite pas de support pour cela, mais pour la compatibilité ascendante prise en chowncharge par GNU '.' tant qu'il n'y a pas d'ambiguïté. Les nouveaux scripts devraient éviter l'utilisation de '.' parce qu'il n'est pas portable et qu'il a des résultats indésirables si le propriétaire entier '.' groupe arrive à identifier un utilisateur dont le nom contient '.'.

En pause jusqu'à nouvel ordre.
la source