Joker chaine de caractères BASH [Résolu/Fermé]

Signaler
Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
-
Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
-
Bonjour à tous,

Voilà malgré une longue recherche sur google, je n'est toujours pas trouvé comment comparer une chaine de caractère avec une partie...
Je m'explique:

Je voudrais comparer un lien entré par l'utilisateur de façon à savoir si la syntaxe du lien est correct (avec www.*.* ou [[[http://]]]*.* ...)

Seulement avec l'étoile (qui d'après ce que j'ai vu ne sert que pour les recherches de fichiers) ça ne marche pas.
Voilà ce que j'ai fais :

 while [ $link != "www.*.*" ] && [ $link != "[[[http://]]]*.*" ] && [ $link != "[[[https://]]]*.*" ]   
 do   
  echo "Votre lien n'est pas valide!"    
  read link   
 done


Merci d'avance pour vos réponses! :)

2 réponses


salut,

regarde bien le man bash, le paragraphe sur les Correspondances de Motifs (Pattern Matching), et celui sur les [[
while [[ $link == +(http?(s)://*|www.*) ]]
do   
  echo "Votre lien n'est pas valide!"    
  read link
done
ici les guillemets sont facultatifs, mais entre [ ils sont indispensables.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1769
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
19 novembre 2016
238
Merci beaucoup de ta réponse j'ai regardé pas mal de man mais je ne cherchais sûrement pas au bon endroit.
Merci!