problème de grep avec la commande system

problème de grep avec la commande system - Perl - Programmation

Marsh Posté le 06-05-2010 à 15:32:11    

Bonjour à tous,
 
J'ai un petit soucis de grep avec la commande system(), si quelqu'un aurait une idée?
Merci d'avance.
Dans un problème, je souhaite crée un compte utilisateur via la commande adduser sous unbuntu.
Dans le cas ou l'identifiant existe déjà dans /etc/passwd, je reboucle pour que l'utilisateur rentre un autre login.
Il faut que je fasse un grep stricte, c'est à dire que si un utilisateur "toto" est présent dans /etc/group, on a la possibilité de crée un utilisateur "to", si l'utilisateur rentre un login correcte l'utilisateur rentrera un mot de passe.
 
$accountcreated="false";
 
while ($accountcreated eq "false" ){
print("Please enter your login:" );
$login = <STDIN>;
$test="grep ^$login: /etc/passwd";
 
system ($test);
        print $?;
        if ($?==0){
                $accountcreated="false";
        }else{
                $accountcreated="true";
        }
        print $accountcreated;
}
 
 
 
 
Deuxieme problème:
 
Pour la saisie du mot de passe, je n'arrive pas a supprimer la sortie standard, j'ai toujours les messages qui disent que le mot de passe a bien été saisie, c'est le retour de la commande passwd user.
 
 
 
 
 
open (PASSWD, "| passwd $login 2>&1 /home/test/test.log" );
        print PASSWD "$password";
        print PASSWD "$password";
close (PASSWD);

Reply

Marsh Posté le 06-05-2010 à 15:32:11   

Reply

Marsh Posté le 06-05-2010 à 17:23:36    

en fait j'ai résolu le problème j'avais oublier de chomp la variable $login.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed