2016-11-18 2 views
0

Je veux exécuter une commande de masse sur tous les utilisateurs sur le serveur. La commande ressemble à:Commande pour créer un fichier avec tous les noms d'utilisateur sur le serveur

command username 

est-il un moyen de générer un fichier txt dans le répertoire/avec les tous les noms d'utilisateur sur le serveur avec la sortie du fichier comme:

command user1 
command user2 
command user3 
etc. 
+1

oui c'est possible. – PeeHaa

+0

@PeeHaa comment? S'il vous plaît aider ... –

+0

Cela vous montrera comment obtenir tous les utilisateurs du système: http://askubuntu.com/a/410274 – Gavin

Répondre

0

La commande getent passwd la liste de tous utilisateurs et certaines données à leur sujet. Je ne suis pas sûr si vous vouliez dire la sortie de exécutant la commande devrait aller au fichier de sortie, ou si vous vouliez juste le texte commande utilisateur. Si vous voulez que la sortie de commande, une façon de le faire serait

getent passwd | cut -f 1 -d : | \ 
while read user 
do command $user 
done > output.txt 

Tweak si vous ne pensiez pas exactement cela. Méfiez-vous que vous obtenez également tous les comptes système dans la liste. Si vous souhaitez uniquement obtenir des comptes d'utilisateurs "réels", ajoutez un filtre sur l'ID utilisateur (le troisième champ de la sortie de getent).