Lister les groupes utilisateurs un par un verticalement
xunil2003
Messages postés
830
Statut
Membre
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
Bonjour,
Pour un script j'ai besoin de lister les groupes des utiliateurs de /etc/group
Mais je ne comprend pas pourquoi avec une fonction je ne peut pas y afficher verticalement ?
1/ Qand je fait ceci sans fonction
le résultat s'affiche verticalement un par un
2/ Qand je fait ceci avec une fonction
le résultat s'affiche horizontalement
Pour un script j'ai besoin de lister les groupes des utiliateurs de /etc/group
Mais je ne comprend pas pourquoi avec une fonction je ne peut pas y afficher verticalement ?
1/ Qand je fait ceci sans fonction
for i in 'cat /etc/group | fgrep x:50 | cut -d: -f1'
do
echo "$i"
done
le résultat s'affiche verticalement un par un
[root@localhost laurent]# bash /home/laurent/bash/Installer-un-partage-public-mutli-utilisateurs.sh nathalie laurent [root@localhost laurent]#
2/ Qand je fait ceci avec une fonction
groupe_users_vertical ()
{
for i in 'cat /etc/group | fgrep x:50 | cut -d: -f1'
do
echo "$i"
done
}
echo ""
echo $(groupe_users_vertical)
le résultat s'affiche horizontalement
[root@localhost laurent]# bash /home/laurent/bash/Installer-un-partage-public-mutli-utilisateurs.sh nathalie laurent [root@localhost laurent]#
A voir également:
- Lister les groupes utilisateurs un par un verticalement
- Comment créer un groupe whatsapp - Guide
- Créer un groupe facebook - Guide
- Whatsapp repondre a un message dans un groupe - Guide
- Lister les disques cmd ✓ - Forum Windows
- Envoyer un sms groupé sans que les destinataires apparaissent ✓ - Forum Nokia
2 réponses
Salut,
Pourquoi "echo" (echo $(groupe_users_vertical)) ???
Et pourquoi une boucle for ?
Pourquoi "echo" (echo $(groupe_users_vertical)) ???
groupe_users_vertical ()
{
for i in 'cat /etc/group | fgrep x:50 | cut -d: -f1'
do
echo "$i"
done
}
echo ""
groupe_users_vertical
Et pourquoi une boucle for ?
groupe_users_vertical ()
{
fgrep 'x:50' /etc/group | cut -d: -f1
}
echo ""
groupe_users_vertical
Bonsoir,
echo c'est pour vérifier à l'affichage si tout est correct, sinon il va m'afficher erreur fichier non trouvé, mais je doit ajouter chaque utilisateur
Merci
echo c'est pour vérifier à l'affichage si tout est correct, sinon il va m'afficher erreur fichier non trouvé, mais je doit ajouter chaque utilisateur
# adduser $(groupe_users_vertical) <chemin du partage reseauEs-ce correct comme ceci pour ajouter chaque utilisateur
Merci
Re-
echo c'est pour vérifier à l'affichage si tout est correct
echo affiche du texte ou le contenu d'une variable, mais on ne l'emploie pas pour afficher le résultat d'une commande ou d'une fonction, par défaut celles-ci affichent leur résultat sur la sortie standard en règle générale.
mais je doit ajouter chaque utilisateur
# adduser $(groupe_users_vertical) <chemin du partage reseau
Tu ne peux pas non plus ajouter tous tes utilisateurs en même temps avec la commande "adduser", tu dois le faire un par un, donc inutile de récupérer ta liste auparavant, ou bien si, à condition de parser chaque élément de cette liste un par un, mais là ça fait redondance, autant tout faire d'un coup.
Un truc du genre devrait le faire :
A tester avant en rajoutant un "echo" devant la commande "adduser", hein ?
echo c'est pour vérifier à l'affichage si tout est correct
echo affiche du texte ou le contenu d'une variable, mais on ne l'emploie pas pour afficher le résultat d'une commande ou d'une fonction, par défaut celles-ci affichent leur résultat sur la sortie standard en règle générale.
mais je doit ajouter chaque utilisateur
# adduser $(groupe_users_vertical) <chemin du partage reseau
Tu ne peux pas non plus ajouter tous tes utilisateurs en même temps avec la commande "adduser", tu dois le faire un par un, donc inutile de récupérer ta liste auparavant, ou bien si, à condition de parser chaque élément de cette liste un par un, mais là ça fait redondance, autant tout faire d'un coup.
Un truc du genre devrait le faire :
while read nom
do
adduser "${nom}" options
done < $(fgrep 'x:50' /etc/group | cut -d: -f1)
A tester avant en rajoutant un "echo" devant la commande "adduser", hein ?