Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

détecter le prompt d'un remote shell

2 réponses
Avatar
unbewusst.sein
but de la manip :
j'utilise la librairie ruby net/ssh avec laquelle on peut envoyer, par
programme, des commandes au "remote shell".

ça marche très bien excepté pour une commande "cd /path/to", qui est,
comme sur mac, une commande "built-in", je ne sais d'ailleurs pas trop
ce que ça signifie exactement.

pour cette commande là, ruby net/ssh, me retourne une erreur :
exec: 4: cd: not found
à la suite de :
result=session.exec!("cd /mnt/fat;ls -Al")

et donc je cherche à savoir s'il y a un moyen de contourner ce pb.

bien sûr si je me loggue sur le serveur distant (un tél portable) en cli
(zsh), je n'ai aucun pb pour entrer, à la main, ce genre de commande, et
ça roule.

aussi, je voudrais faire une manip en shell, où je tenterais de faire
par script ce que ruby est supposé faire :

détecter le prompt et envoyer une chaîne de caractères au shell distant
"cd /path/to".

pour établir une connection, la dernière commande de zsh est :
ssh -p 2222 root@169.254.0.2

la réponse étant de la forme :
< pas mal de blabla />
Last login: Sun Jul 27 21:23:23 UTC 2008
#
la dernière ligne étant le prompt.

bon, détecter que le remote server a fini son blabla, ce n'est pas très
difficile mais comment émuler une entrée au clavier ?

et surtout comment l'envoyer à ssh ?

--
Une Bévue

2 réponses

Avatar
Eric Levenez
Le 28/07/08 15:32, dans
<1iksk2o.m14pvr1e2eaeN%, « Une
Bévue » a écrit :

pour cette commande là, ruby net/ssh, me retourne une erreur :
exec: 4: cd: not found
à la suite de :
result=session.exec!("cd /mnt/fat;ls -Al")



Je ne vois pas du tout le rapport avec Mac OS X.

Tu veux exécuter "cd" qui n'est pas un exécutable mais une commande interne
d'un shell. Il te dis dont qu'aucun exécutable ne s'appelle "cd". Le message
"cd: not found" est clair de chez clair.

Alors avant que tu ne reviennes dans 10 minutes poser une nouvelle question,
regarde l'option -c de "sh", elle et faite pour ce que tu veux faire.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Avatar
unbewusst.sein
Eric Levenez wrote:


Je ne vois pas du tout le rapport avec Mac OS X.

Tu veux exécuter "cd" qui n'est pas un exécutable mais une commande interne
d'un shell. Il te dis dont qu'aucun exécutable ne s'appelle "cd". Le message
"cd: not found" est clair de chez clair.

Alors avant que tu ne reviennes dans 10 minutes poser une nouvelle question,
regarde l'option -c de "sh", elle et faite pour ce que tu veux faire.



ok, ce n'est pas le bon groupe.
--
Une Bévue