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 bergamote23 . Évalué à 4.
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
}
[^] # Re: j'ai bien dit que jétais pas sur à 100%:
Posté par bergamote23 . Évalué à 3.
if( $alias =~ /[^\s=]+='.+'/ ){
[^] # Re: j'ai bien dit que jétais pas sur à 100%:
Posté par oliwer (site web personnel) . Évalué à 1.
Tant pis pour les méta cractères. De toute façon, j'ai du mal à voir comment ils pourraient êtres utils dans un nom d'alias...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.