Bonjour,
Mon problème est le suivant, quand je lance la 1ère commande ci-dessous, il m'affiche le résultat dans le fichier mais aussi le prompt.
J'ai fais quelques tests, read_line() = l'ensemble des données (hors prompt), ce qui fait que $ssh->peek() = l'ensemble des données (hors prompt). Hors avec cette information, je n'arrive pas à virer le prompt.
Si je fais comme les autres, $ssh->eat($ssh->peek(0)), je supprime toutes les informations !
Voici le code :
Le contenu de mon fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 print FILE "\nxx - yumconf -l\n\n"; $ssh->send("yumconf -l"); while (my $line = $ssh->read_all()) { print FILE "$line\n"; } print FILE "\nxx - list tcpdump\n\n"; $ssh->send("yum list installed | grep tcpdump"); while (my $line = $ssh->read_line()) { print FILE "$line\n"; } $ssh->eat($ssh->peek(0)); print FILE "\nxx - list libpcap\n\n"; $ssh->send("yum list installed | grep libpcap"); while (my $line = $ssh->read_line()) { print FILE "$line\n"; } $ssh->eat($ssh->peek(0)); print FILE "\nxx - list lksctp-tools\n\n"; $ssh->send("yum list installed | grep lksctp-tools"); while (my $line = $ssh->read_line()) { print FILE "$line\n"; } $ssh->eat($ssh->peek(0));
xx - yumconf -l
YUM-REPOSITORY : STATUS
-------------- --------
common-G02 ---------- : enable
common-rhel6 ---------- : enable
[root@xxxxxx ~]# Le prompt à virer
xx - list tcpdump
tcpdump.x86_64 ... @CONFIGURATOR
xx - list libpcap
libpcap.x86_64 ... @standard
xx - list lksctp-tools
lksctp-tools.x86_64 ... @standard
Une idée ?
Merci d'avance !
Partager