BASH Script : Gestion de touche
Résolu/Fermé
Gimly86
Messages postés
17
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
25 août 2011
-
29 déc. 2008 à 17:39
Gimly86 Messages postés 17 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 25 août 2011 - 30 déc. 2008 à 13:34
Gimly86 Messages postés 17 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 25 août 2011 - 30 déc. 2008 à 13:34
A voir également:
- BASH Script : Gestion de touche
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
- Bingo bash free - Télécharger - Divers Jeux
4 réponses
Gimly86
Messages postés
17
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
25 août 2011
30 déc. 2008 à 10:23
30 déc. 2008 à 10:23
Un petit up.
J'ai aussi un autre souci avec un if voici le code :
J'ai modifié volontairement les IP's :). Seulement en résultat cette fonction me sort toujours Autre Réseau.
Si quelqu'un à une idée s'il vous plait ?
Merci :)
J'ai aussi un autre souci avec un if voici le code :
ip() { if [ -z $ippub = '']; then ippub=$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1); fi stsecondin1='81.252.x.x21' stsecondin2='81.252.x.x25' saulge1='81.252.x.x73' saulge2='81.252.x.x69' saulge3='81.252.x.x65' if [ '$ippub' = '$stsecondin1' ] || [ '$ippub' = '$stsecondin2' ] then echo "St Secondin" else if [ '$ippub' = '$saulge1' ] || [ '$ippub' = '$saulge2' ] || [ '$ippub' = '$saulge3' ] then echo "Saulgé" else echo "Autre réseau" fi fi }
J'ai modifié volontairement les IP's :). Seulement en résultat cette fonction me sort toujours Autre Réseau.
Si quelqu'un à une idée s'il vous plait ?
Merci :)
Gimly86
Messages postés
17
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
25 août 2011
30 déc. 2008 à 11:28
30 déc. 2008 à 11:28
Merci pour ta réponse, c'est vrai que je n'ai pas pensé à case.
Seulement maintenant j'ai un souci avec ce code :
Bon seulement il me sort toujours Autre réseau, J'ai vérifié tout de même l'ip que je récupérer par le test dyndns et elle est bien correct. Si quelqu'un a une idée ?
Merci :)
Seulement maintenant j'ai un souci avec ce code :
if [ -z $ippub = ""]; then ippub=$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1); fi case $ippub in '81.252.x.x21') echo "St Secondin" ;; '81.252.x.x25') echo "St Secondin" ;; '81.252.x.x73') echo "Saulgé" ;; '81.252.x.x69') echo "Saulgé" ;; '81.252.x.x65') echo "Saulgé" ;; *) echo "Autre Réseau" ;; esac
Bon seulement il me sort toujours Autre réseau, J'ai vérifié tout de même l'ip que je récupérer par le test dyndns et elle est bien correct. Si quelqu'un a une idée ?
Merci :)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 déc. 2008 à 11:45
30 déc. 2008 à 11:45
Le résultat de "$ippub" est-il sensé contenir une adresse IP entourée de quotes simples ?
Si la réponse est non, alors enlèves les quotes simples de tes adresses dans le "case...esac", et enlèves aussi les espaces en début du moins en ce qui concerne les IP ;-))
Si la réponse est non, alors enlèves les quotes simples de tes adresses dans le "case...esac", et enlèves aussi les espaces en début du moins en ce qui concerne les IP ;-))
Gimly86
Messages postés
17
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
25 août 2011
30 déc. 2008 à 11:55
30 déc. 2008 à 11:55
Non en effet l'ip n'est pas quoté (oui oui de verbe quoter :D), mais j'ai tout de même fait ce que tu as dit jipicy. Seulement le problème persiste, et l'ip récuperer est bien la bonne celle de la valeur 1 de mon case :
ip() { if [ -z $ippub = ""]; then ippub=$(wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1); fi case $ippub in 81.252.x.x21) echo "St Secondin" ;; 81.252.x.x25) echo "St Secondin" ;; 81.252.x.x73) echo "Saulgé" ;; 81.252.x.x69) echo "Saulgé" ;; 81.252.x.x65) echo "Saulgé" ;; *) echo "Autre Réseau" ;; esac }
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 déc. 2008 à 12:22
30 déc. 2008 à 12:22
Ben je ne sais que te dire, chez moi ça marche bien ;-\
Juste un truc, il faut un espace avant le crochet fermant de "if [ -z $ippub = ""]" :
Juste un truc, il faut un espace avant le crochet fermant de "if [ -z $ippub = ""]" :
if [ -z $ippub = "" ];-))
Gimly86
Messages postés
17
Date d'inscription
mercredi 5 novembre 2008
Statut
Membre
Dernière intervention
25 août 2011
30 déc. 2008 à 13:34
30 déc. 2008 à 13:34
Bon, bah c'est pas grave. Merci quand même :)
30 déc. 2008 à 10:44
Il faut des quotes doubles (et non pas des simples) autour des variables dans tes tests de condition (et en règle générale).
Une fonction "case $var in ... esac" ne serait-elle pas plus adaptée à ton cas ?