Commande ssh rediriger vers variable

Bonjour,

Je cherche à mettre le contenu du résultat d'un ssh fait à distance, dans une variable :

ssh nagios@example.com -i /usr/local/nagios/.ssh/id_rsa 'sleep 5 | telnet test.com 21' 1>&TEST && echo $TEST

ne me retourne rien !!

est-ce quelqu'un a une idée ???

Par avance merci

2 réponses

  1. Modérateur
    La syntaxe générale c'est :

    ssh login@hostname commande


    Si commande met en jeu les opérateurs '&&', ou ';' ou n'importe quel opérateur de redirection (<, >, >>, 1>, 1>>, 2>, 2>>) il faut l'entourer avec des parenthèses.

    ssh login@hostname (cmd1 | cmd2 | cmd3)


    En effet si tu écris "ssh login@hostname cmd1 | cmd2 | cmd3", le shell l'interprète "((ssh login@hostname cmd1) | cmd2) | cmd3".

    Bonne chance
    0
    1. Contributeur
      hello
      > redirige dans un fichier, pour une variable, c'est
      TEST=$(ssh nagios@example.com -i /usr/local/nagios/.ssh/id_rsa 'sleep 5 | telnet test.com 21')
      echo $TEST
      0