Problème avec rsh [UNIX] - Shell/Batch - Programmation
Marsh Posté le 15-10-2008 à 22:27:45
C'est parce que les données de ton fichier qui viennent après la première ligne sont consommées par le rsh. Ce n'est pas spécifique à rsh, tu aura le même comportement avec n'importe quelle commande qui lit stdin (donc avec ssh aussi).
Edit : je pense que la façon la plus simple de régler le problème est de connecter l'entrée standard de ton rsh sur /dev/null :
rsh $nom_serveur ls < /dev/null |
Ah et au fait, si j'étais toi je ne supprimerais $EXE_OK qu'après la boucle, histoire de ne pas perdre le fichier alors que rien n'a été fait.
Tu sais aussi que tu peux installer ssh/sshd sur AIX. C'est dans l'expansion pack. Sous AIX tu as aussi dsh (distributed shell) qui est justement fait pour exécuter des commandes sur les groupes de machines.
Marsh Posté le 16-10-2008 à 09:21:27
Ouais c'est ce que je me suis dit plus tard, mais je voyais pas trop contourner le problème. Du coup, j'ai fait une boucle avec une variable numerique i qui tourne jusqu'à ce que i devienne egale au nombre de ligne du fichier de configuration. Et j'extrait la ligne qui m'intéresse en faisant un sed
Quoiqu'il en soit, merci quand même pour l'explication et pour l'idée, je suis sur que ça va me servir plus tard de toutes façons
Marsh Posté le 15-10-2008 à 16:17:38
Salut tout le monde
Après mon problème avec sed, je suis de retour avec rsh. Voilà, en fait, j'essaye d'executer une commande précise (un ls) via rsh sur plusieurs serveurs. Je précise que je peux pas le faire via ssh malheureusement.
Bref, j'essaie donc d'exécuter la chose mais il m'execute que le serveur situé sur la premiere ligne. Je comprends pas pourquoi, pourtant si je fais la meme chose avec rcp, ça marche.
Je vous poste mon code
Donc là, il va me faire le ls uniquement sur le serveur désigné par la première ligne du fichier de configuration. En fait, il lit la première ligne et il sort de la boucle (alors qu'il y a plusieurs lignes). Et quand je remplace la commande rsh $nom_serveur ls par echo $i, cette fois ci il me sort sur la sortie standard TOUTES les lignes du fichier.
Je précise que je suis sous aix et que je tourne sous du korn shell. Donc si vous avez des explications, je suis preneur...
Merci d'avance.