IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Problème script shell


Sujet :

Linux

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut Problème script shell
    bonjour,
    j'ai un petite probleme avec un script shell que je viens d'ecrire :
    #!/bin/bash
    #traitement de log.txt et arret de la connexion internet
    #
    function alerte
    {
    echo "fonction alerte"
    #
    #arret de la connexion internet
    MACHINE="@ip"
    LOGIN="Administrator"
    PWD=$LOGIN
    COMMANDE="ppp ifdetach"
    #
    telnet $MACHINE 23
    $LOGIN
    $PWD
    $COMMANDE
    exit 0
    }
    #liste d'ip autorisees
    IP[1]="10.0.0"
    IP[2]="172.17.0"
    IP[3]="172.18.0"
    IP[4]="192.168.1"
    IP[5]="192.168.20"
    IP[6]="192.168.50"
    #
    #lire le fichier ligne par ligne
    cat log.txt | while read ligne
    do
    i=1
    #on récupére la dernière adresse ip
    echo $lignerm -rf log.txt
    ip=$(echo $ligne | cut -d' ' -f 6)
    #
    if ["$ip" != "testabessonn"];
    then n1=$(echo ${ip} | cut -d'.' -f 1)
    n2=$(echo ${ip} | cut -d'.' -f 2)
    n3=$(echo ${ip} | cut -d'.' -f 3)
    ip_new=${n1}.${n2}.${n3}
    #
    #on compare les adresses ip
    if ["$ip_new" != "IP[1]" || "$ip_new" != "IP[2]" || "$ip_new" != "IP[3]" ||
    "$ip_new" != "IP[4]" || "$ip_new" != "IP[5]" || "$ip_new" != "IP[6]"];
    then alerte;
    fi
    fi
    done
    exit 0
    j'ai donc une erreur qui me met :
    'raitement2.sh: line 5: syntax error near unexpected token `{
    'raitement2.sh: line 5: `{

    si quelqu'un peut me guider afin que je trouve mon erreur, je lui en serais reconnaissante.
    merci

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Pour écrire la fonction alerte :
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut pb shell
    bonjour, j'ai trouvé differente façon de declarer une fonction, mais mon erreur ne venais pas de la !
    en fait elle venait de mon editeur de texte qui m'ajoutait des caractere chaque fois que j'effectuais un saut de ligne !
    j'ai taper en ligne de commande :
    et je l'ai ouvert sous vi
    j'ai pu reperer les caractere ajouter et les enlever !
    voila je n'ai plus de problemes.
    merci quand meme à toi pcaboche.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    bonjour j'ai encore un probleme toujours sur mon script shell !
    si vous pouviez m'aider ?
    j'ai une erreur de syntax :
    syntax error near unexpected token `fi'
    .
    si quelqu'un pouvait m'orienter afin que je trouve mon erreur ?
    merci.

  5. #5
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Si ton code était indenté, ça serait plus simple de voir les boucles et les sections entre { }...
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    merci pour le conseil je vai le suivre, j'aurais moins de mal à voir mon code .
    pour mon erreur cela venais de mes boucles if then else fi
    je voulais comparer des chaines de caracteres, il fallait que je mette test après mon if.
    merci encore et j'espère que ça pourra peu etre aider les debutants tel que moi.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 71
    Par défaut
    l'erreur etait toutes betes, erreur de syntaxe, les parenthese de mes if qui n'étit pas espacer, ça doit jouer !?!
    il fallait mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if [ "$ip" != "testabessonn" ]then
    {
       ...
    }
    fi
    voila.
    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script shell
    Par anzar dans le forum Linux
    Réponses: 4
    Dernier message: 03/12/2004, 14h41
  2. [JSP] script shell
    Par goolix dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/08/2004, 09h08
  3. Exécution d'un script shell
    Par Manu0086 dans le forum Linux
    Réponses: 8
    Dernier message: 15/06/2004, 16h31
  4. Explication script shell
    Par crasho007 dans le forum Linux
    Réponses: 2
    Dernier message: 14/06/2004, 13h54
  5. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo