Joker chaine de caractères BASH

Résolu/Fermé
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - Modifié par gardiendelanuit le 17/12/2011 à 13:28
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - 17 déc. 2011 à 18:21
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! :)

A voir également:

2 réponses

Utilisateur anonyme
17 déc. 2011 à 17:09
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
gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
17 déc. 2011 à 18:21
Merci beaucoup de ta réponse j'ai regardé pas mal de man mais je ne cherchais sûrement pas au bon endroit.
Merci!
0