Bash, valider le format d'une variable comme FQDN
Résolu
Exileur
Messages postés
1621
Statut
Membre
-
Exileur Messages postés 1621 Statut Membre -
Exileur Messages postés 1621 Statut Membre -
Bonjour,
Voila la problématique, je demande a un utilisateur d'indiquer un FQDN, que je vais par la suite manipuler.
Je souhaite avant tout vérifier que l'entrée de l'utilisateur à un format valide.
J'ai trouvé la fonction suivante sur internet :
Sauf que ça me retourne une erreur : grep: Support for the -P option is not compiled into this --disable-perl-regexp binary
Du coup, temporairement j'ai écris une fonction à l'arrache :
Sauf que ducoup j'ai tout un tas de domaine qui vont pas passer.
Quelqu'un as-til une solution alternative ?
Sachant que je ne peux pas installer de packet, (host est pas présent), et que c'est du bash 3.2 ?
Merci à vous :)
Voila la problématique, je demande a un utilisateur d'indiquer un FQDN, que je vais par la suite manipuler.
Je souhaite avant tout vérifier que l'entrée de l'utilisateur à un format valide.
J'ai trouvé la fonction suivante sur internet :
#function check_fqdn
#{
# echo "$1" | grep -P '(?=^.{1,254}$)(^(?>(?!\d+\.)[a-zA-Z0-9_\-]{1,63}\.?)+(?:[a-zA-Z]{2,})$)'
# return $!
#}
Sauf que ça me retourne une erreur : grep: Support for the -P option is not compiled into this --disable-perl-regexp binary
Du coup, temporairement j'ai écris une fonction à l'arrache :
function check_fqdn
{
local entry=""
if [ "$(echo $1 | grep -o '\.' | wc -l)" -lt 1 ]; then
return 1;
elif [ "$(echo $1 | tr '.' ' ' | wc -w)" -lt 2 ]; then
return 1;
else
#totalCount=$(echo $1 | tr '.' ' ' | wc -w)
#count=0
for entry in $(echo $1 | tr '.' ' '); do
if ! [[ $entry =~ ^[A-Za-z0-9\_\-]+$ ]]; then
return 1;
elif [[ ${#entry} -lt 2 || ${#entry} -gt 16 ]]; then
return 1;
fi
#((count++))
done
fi
return 0;
}
Sauf que ducoup j'ai tout un tas de domaine qui vont pas passer.
Quelqu'un as-til une solution alternative ?
Sachant que je ne peux pas installer de packet, (host est pas présent), et que c'est du bash 3.2 ?
Merci à vous :)
A voir également:
- Bash, valider le format d'une variable comme FQDN
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format bin - Guide
ou alors c'est une punition. 8O
Perl v5.10.0, on va faire avec :)
Je suis pas d'accord avec toi lapiel, aucunes once de rouille ne sauraient faire trembler ou remettre en question la stabilitée de certain outils ;)) Aussi vieux soit il.
le noyau, lui, est-il à jour ?
Pour le coup je bosse pas dessus.