coolmec28 Posted February 15, 2004 Posted February 15, 2004 Voilà j'aimerais connaitre le groupe d'un utilisateur, simplement en tapant son nom comme argument. Pour ce faire j'ai fait ceci dans un fichier sous vi que j'ai nommer test, je l'ai rendu excécutable, Puis je tape ceci : ./test nom_utilisateur Mais il me sort par moment plusieurs lignes de résultat. Je ne comprend pas trop pq, si quelqu'un pouvait m'aider ca serait cool Voici la syntaxe que j'ai mis dans mon fichier shell script : #!/bin/bash USER=`cat /etc/passwd | cut -d':' -f1,4 | grep "$1" | cut -d':' -f2` GROUP=`cat /etc/passwd | cut -d':' -f1,3 | grep "$USER" | cut -d':' -f1` echo "le nom du groupe de l'utilisateur est : $GROUP" Comme on peut le voir je compare l'argument 1 avec le champ 1 et 4, que je coupe ensuite en prenant juste le champ 2 qui est le num du groupe. Ensuite je vais comparé cette valeur avec le champ 3 dans /etc/group et je recoupe pour qu'il me renvoit juste le champ 1, ceci afin d'avoir le nom du groupe en question. Donc je ne comprend pas pq il sort plusieurs lignes de résultat pour certains utilisateurs. Voilà si quelqu'un pouvait m'aider, je l'en remercie d'avance
gauret Posted February 15, 2004 Posted February 15, 2004 Le group ID de bin est 1 par exemple. Si tu lances ton script sur bin, tu vas récupérer les groupes 1, 10, 11, 12, 21, etc... tout ce qui contient 1 quoi. Loin de moi l'idée de te décourager d'apprendre le bash, mais il existe la commande "groups" qui fait ce que tu veux : $ groups bin bin : bin daemon sys A+ Gauret
coolmec28 Posted February 15, 2004 Author Posted February 15, 2004 Merci pour ta réponse m'aide beaucoup dans la compréhension du fonctionnement de ce que j'ai tapé ;-) Et effectivement la commande groups et largement bien plus rapide.
gauret Posted February 15, 2004 Posted February 15, 2004 Pour garder l'idée de ton script, tu peux remplacer le grep "$USER" par un grep "^$USER$" et voir si ça marche mieux. le "^" signifie "début de ligne" et le "$" signifie "fin de ligne" A+ Gauret
Recommended Posts
Archived
This topic is now archived and is closed to further replies.