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

"taper" un mot de passe au prompt d'une commande

4 réponses
Avatar
Alex Marandon
Bonjour,

J'execute une commande shell depuis un script Perl. Cette commande
affiche le prompt "Password:", après lequel l'utilisateur tape son mot
de passe. Je ne parviens pas à entrer ce mot de passe depuis Perl, j'ai
essayé à l'aide d'un

open FH, "| ma_commande";
print FH 'le_mot_de_passe';

mais sans succès.

Pourtant, lorsque j'essaie de simuler le comportement de la commande à
l'aide du code suivant, la méthode décrite ci-dessus fonctionne :

print "Password:";
my $var = <STDIN>;
chomp $var;
if ( $var eq 'le_mot_de_passe' ) {
print "Le mot de passe est correct ($var).\n";
} else {
print "Le mot de passe est incorrect ($var).\n";
}

Une idée ?

4 réponses

Avatar
_ANTISPAM_pgenieys
Alex Marandon wrote:
de passe. Je ne parviens pas à entrer ce mot de passe depuis Perl, j'ai
Une idée ?


Bonjour,
Qu'entendez-vous par le prompt d'une commande ?
Voulez-vous que le mot de passe n'apparaisse pas à l'ecran ?
(dans ce cas cherchez sur search.cpan.org le module Term::ReadKey et
regarder le mode noecho)

A+, Pierre.
-----
posté via http://www.usenetgratuit.com/ plus de 40 000 newsgroups sur le
web.

Avatar
Alex Marandon
In article <3ff05273$0$17126$, Pierre Génieys wrote:
Alex Marandon wrote:
de passe. Je ne parviens pas à entrer ce mot de passe depuis Perl, j'ai
Une idée ?


Bonjour,
Qu'entendez-vous par le prompt d'une commande ?
Voulez-vous que le mot de passe n'apparaisse pas à l'ecran ?
(dans ce cas cherchez sur search.cpan.org le module Term::ReadKey et
regarder le mode noecho)


En fait, cette commande existe déja. Moi je voudrais l'utiliser depuis Perl.
Elle s'utilise ainsi :

$ faxrm -a -h kurosawa 33
Password:

"Password:" est ce que j'ai appelé le prompt.


Avatar
dominix
"Alex Marandon" wrote in message
news:
Bonjour,

J'execute une commande shell depuis un script Perl. Cette commande
affiche le prompt "Password:", après lequel l'utilisateur tape son mot
de passe. Je ne parviens pas à entrer ce mot de passe depuis Perl,
[...]

Une idée ?


je pense qu'il s'agit d'une assignation de Terminal,
les processus n'utilise plus STDOUT|STDIN pour communiquer mais plutôt
un canal clavier->processus.
dans ce cas de figure il est préférable de faire appel a _expect_
[depuis le Shell] ou _Expect_ [depuis perl]

--
dominix

Avatar
Eric
$ faxrm -a -h kurosawa 33 < [mot de passe]
...ca vaut le coup d'essayer...

ou...
si c'est un probleme de user unix su [user] -c 'faxrm -a -h kurosawa 33'

Eric

"Alex Marandon" a écrit dans le message news:

In article <3ff05273$0$17126$, Pierre Génieys wrote:
Alex Marandon wrote:
de passe. Je ne parviens pas à entrer ce mot de passe depuis Perl,
j'ai



Une idée ?


Bonjour,
Qu'entendez-vous par le prompt d'une commande ?
Voulez-vous que le mot de passe n'apparaisse pas à l'ecran ?
(dans ce cas cherchez sur search.cpan.org le module Term::ReadKey et
regarder le mode noecho)


En fait, cette commande existe déja. Moi je voudrais l'utiliser depuis
Perl.

Elle s'utilise ainsi :

$ faxrm -a -h kurosawa 33
Password:

"Password:" est ce que j'ai appelé le prompt.