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 :

appel de fonction


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    développeur à la maison
    Inscrit en
    Septembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : développeur à la maison

    Informations forums :
    Inscription : Septembre 2006
    Messages : 436
    Billets dans le blog
    16
    Par défaut appel de fonction
    bonjour,

    je n'arrive pas à comprendre où est l'erreur:
    ./sauve-6.0: line 75: syntax error near unexpected token `;;'
    ./sauve-6.0: line 75: ` ;;'

    #!/bin/sh

    # sauve, a backup script
    # Copyright (C) 2007 2009 2009 Mathieu SERPA


    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.

    # You should have received a copy of the GNU General Public License
    # along with this program. If not, see <http://www.gnu.org/licenses/>.
    #
    # matser1973@free.fr

    trap 'if [ "$(echo $(mt -f /dev/st0 status) | grep -i online )" != "" ] ;then mt -f /dev/st0 eject ; fi' EXIT

    list(){
    case "$1" in
    t)
    find "/home/*/[^.]*";;
    i)
    moment=$2
    find "/home/*/[^.]*" -daystart -mtime "$moment";;
    esac
    }

    sauve_incr1(){
    etendue=$(($1*7))
    shift
    (
    while [ $etendue -ge 0 ];do
    list i $etendue
    etendue=$(($etendue-1))
    done
    )|cpio -ovBH crc>/dev/st0
    }

    sauve_incr2(){
    etendue=$1
    shift
    (
    while [ $etendue -ge 0 ];do
    list i $etendue
    etendue=$(($etendue-1))
    done
    )|cpio -ovBH crc>/dev/st0
    }

    sauve(){
    case "$1" in
    "t")
    list t | cpio -ovBH crc>/dev/st0;;
    "s")
    sauve_incr1 "$2" ;;
    "j")
    sauve_incr2 "$2" ;;
    esac
    }

    choix_menu(){
    dialog --msgbox "$(date)" 0 0
    choix=$(dialog --stdout --menu "Que voulez-vous faire?" 0 45 8 1 "sauvegarde totale" 2 "sauvegarde hebdomadaire" 3 "sauvegarde journalière" 4 "Quitter"
    if [ $? = 1 ];then
    exit 1
    fi
    case "$choix" in
    "1") sauve t;; #l'erreur est ici, pourquoi?
    "2")
    etendue=$(dialog --stdout --radiolist "sauvegarder ce qui a changé depuis" 0 40 5 1 "une semaine" on 2 "deux semaines" off 3 "trois semaines" off 4 "quatre semaines" off)
    if [ $? = 0 ]; then
    sauve s $etendue
    else
    return
    fi;;
    "3")
    etendue=$(dialog --stdout --radiolist "sauvegarder ce qui a changé depuis" 0 35 7 1 "un jour" on 2 "deux jours" off 3 "trois jours" off 4 "quatre jours" off 5 "cinq jours" off 6 "six jours" off)
    if [ $? = 0 ]; then
    sauve j $etendue
    else
    return
    fi;;
    "4")
    exit 0;;
    esac
    }
    mt -f /dev/st0 retension
    sauve -j 3
    if [ "$(whoami)" = "root" ]; then
    while true;do
    choix_menu
    done
    else
    echo vous devez être root pour éxécuter ce script
    fi

    quelqu'un a une idée?

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    case "$choix" in
    "1") sauve t;; #l'erreur est ici, pourquoi?
    Essais en mettant un blanc entre t et les ;;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    case "$choix" in
    "1") sauve t ;; #l'erreur est ici, pourquoi? --> en mettant un blanc entre t et les ;;

Discussions similaires

  1. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 15h54
  2. Réponses: 4
    Dernier message: 19/04/2004, 14h41
  3. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 14h44
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 14h33
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 19h48

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