Bonjour tout le monde,

Je viens ici pour vous solliciter un petit coup de pouce car j'ai un petit souci...

Voilà j'ai besoin de faire un petit script en perl qui nécessite pour ça, de faire un changement de compte utilisateur.

J'ai donc fait la petite procédure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
sub login{
  my($login, $password) = @_;
 
  system("whoami");
  open(loginDesc, "su $login >&0 |");
  print loginDesc "$password";
  close(loginDesc);
  system("whoami");
}
 
login('log', 'pass');
et ça ne fonctionne pas :'(

en fait je dois utiliser la procédure login dans une boucle avec le $login et $password comme argument lus dans un fichier plat.

De ce fait, je cherche donc à rediriger la sortie standard de mon programme perl dans l'entrée standard de la commande su

J'ai bien essayé pas mal de solutions avec notamment les pipes mais rien de fonctionnelle pour l'instant...

Est-ce que vous pourriez m'aider ou me diriger s'il vous plait vers une url qui pourrait m'être utile ?

En vous remerciant bien

Bonne journée.

P.S.: si vous avez un lien qui explique comment faire le redirections ou rendez vous de process entre les commandes du shell linux et le programme perl je vous en remercie également d'avance