J'ai essayé d'écrire une commande (serveur Solaris) qui ajoute un utilisateur à un groupe spécifique. C'est une commande assez longue donc je vais poster la commande entière ici et ensuite la décomposer.
USER=myUser && sudo /usr/sbin/usermod -G `awk -v delim="," -F: '/[:,]'$USER'/ { groups = groups $1 delim; } END { groups = groups "myGroup"; print groups}' /etc/group` myUser
La commande inner awk compile une liste de groupes actuels délimitée par des virgules et la commande externe prend cette liste dans le paramètre -G.
Les deux awk et usermod me donnent des erreurs de syntaxe (près de la ligne 1, mais il n'y a qu'une seule ligne), mais je dois est causée par l'autre le sentiment d' une erreur.
Y a-t-il des erreurs de syntaxe flagrantes ici qui me manquent? Cela pourrait-il être causé par un problème de shell? En tant que clause de non-responsabilité, j'utilise la construction && au lieu d'un point-virgule en raison de problèmes de traitement de texte de niveau supérieur, mais cela ne devrait pas affecter l'exécution, à mon avis (je l'ai testée).