Forum Programmation.perl Regexp pour contôle d'alias

Posté par  (site web personnel) .
Étiquettes : aucune
0
24
nov.
2005
Bonjour à tous.

Je suis en train de faire un p'tit script perl pour ajouter facilement des alias dans le fichier ~/.bash_alias. Pour éviter que l'utilisateur n'entre n'importe quoi, je voudrais contrôler la syntaxe de l'alias entré par une regexp.

Le pattern est donc le suivant : nom_sans_espace='des commandes'

Je n'arrive pas à créer la regexp correspondante. Vous pouvez m'aider ?

Merci :)
  • # je dirais, sans etre sur à 100%:

    Posté par  . Évalué à 4.

    if( $alias =~ /\S+='.+'){
    OK
    }

    là, on considère vraiment que le nom de l'alias, c'est "tout caractère, sauf espace".
    Je suis pas sur que ce soit la bonne chose. man bash:

    "Le nom de l'alias, ainsi que le texte de remplace-
    ment, peuvent contenir n'importe quels caractères valides pour le shell, y
    compris les méta-caractères présentés plus haut. Une exception toutefois,
    le nom de l'alias ne peut pas contenir de caractère =."

    donc, théoriquement ca serait :

    if( $alias =~ /[^\s=]+='.+'){
    OK
    }

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.