Comment puis-je capturer la sortie des commandes à distance, puis émettre des commandes plus éloignées?

StackOverflow https://stackoverflow.com/questions/1198351

  •  20-09-2019
  •  | 
  •  

Question

Je suis en cours d'exécution d'un script où il se connecter à un serveur exécute alors la commande "Passwd -n debug 0 -x 99999 -i -1" pour éliminer le vieillissement de l'utilisateur de débogage. Si le débogage utilisateur n'est pas présent alors je veux créer le débogage utilisateur, changer le mot de passe, puis exécutez la commande ci-dessus pour le vieillissement.

Comment puis-je faire?

Cordialement, Vasistha

Était-ce utile?

La solution

De perlfunc(1):

          system LIST
               [...]
               The return value is the exit status of the program as returned
               by the "wait" call.  To get the actual exit value, shift right
               by eight (see below).

Par conséquent:

my $ret = system(qw/passwd -n 0 -x 99999 -i -1 debug/);
if ($ret != 0) {
  # failure handling code here
}

Autres conseils

Utilisez marionnette .

Si vous insistez vraiment le faire, utilisez manuellement getent passwd debug pour vérifier si l'utilisateur existe:

if [ $(getent passwd debug | wc -l ) = 0 ]; then
    adduser debug
fi
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top