J'ai une étrange erreur que je n'ai pas pu trouver quoi que ce soit à ce sujet. Je voulais changer le commentaire de l'utilisateur avec la commande suivante.
$ sudo usermod -c "New Comment" user
Cela fonctionnera lorsque vous serez connecté à un serveur, mais je souhaite l'automatiser sur plus de 20 serveurs. Habituellement, je peux utiliser une liste et parcourir les serveurs et exécuter une commande, mais dans ce cas, j'obtiens une erreur.
$ for i in `cat servlist` ; do echo $i ; ssh $i sudo usermod -c "New Comment" user ; done
serv1
Usage: usermod [options] LOGIN
Options:
lists usermod options
serv2
Usage: usermod [options] LOGIN
Options:
lists usermod options
.
.
.
Lorsque j'exécute cette boucle, il renvoie une erreur comme si j'utilise la commande incorrectement, mais elle fonctionnera très bien sur un seul serveur.
En regardant à travers les pages de manuel ssh j'ai essayé -t
et des -t -t
drapeaux , mais ceux ne fonctionnait pas.
J'ai utilisé avec succès perl -p -i -e
dans une boucle similaire pour modifier des fichiers.
Est-ce que quelqu'un connaît une raison pour laquelle je ne peux pas boucler cela?