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 :

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));
Le contenu de mon fichier
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 !