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

Shell et commandes GNU Discussion :

; comme séparateur de cmd dans un script


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut ; comme séparateur de cmd dans un script
    Bonjour,

    Je suis débutant en bash script et j'ai un p'tit pb pour utiliser le caractère ; comme séparateur de commande sur une même ligne dans un script sh.

    Ci-dessous mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    #!/bin/sh
     
    MAIL="xxx@yyy.com"
    function check_distrib() {
     
        if [ -f '/etc/debian_version' ]
            then
            echo "debian"
            return
        fi
        if [ -f '/etc/redhat-release' ]
            then
            echo "redhat"
            return
        fi
    }
     
    function debian_update() {
     
    UPDT="/tmp/debian_update"
    CMD="apt-get clean all;apt-get clean;apt-get update;apt-get upgrade -s"
    $CMD >& $UPDT
     
    cat $UPDT | mail -s "Result Security Update for ${HOSTNAME} " $MAIL
    }
     
    function redhat_update(){
     
    UPDT="/tmp/redhat_update"
    CMD="yum clean all; yum check_update"
    $CMD >& $UPDT
     
    cat $UPDT | mail -s "Result Security Update for ${HOSTNAME} " $MAIL
     
    }
     
    DISTRIB=`check_distrib`
     
    case $DISTRIB in
     
        'debian')
        debian_update
        ;;
     
        'redhat')
        redhat_update
        ;;
     
    esac
    Je m'explique ... quand je tape la commande yum clean all; yum check-update directement sous mon prompt ça fonctionne mais quand je l'utilise dans le script ci-dessus j'ai le message d'erreur suivant :

    Error: invalid clean argument: 'all;'
    Visiblement il interprète le caractère spécial point virgule ; comme ne faisant pas parti d'un argument valide à donner à la commande yum clean. Normal vous me direz mais moi je veux juste utiliser le ; comme séparateur de commande

    J'ai bien essayé de modifier la ligne de plusieurs manières pour que le système ne cherche pas à associer ce fameux ; à la commande yum, genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMD="yum clean all /; yum check_update"
    CMD="yum clean all (;) yum check_update"
    ...
    mais ça ne marche pas !

    Une personne bien charitable pourrait-elle m'aider svp ?

    D'avance, merci !

    Adyr

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,


  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut
    Merci Mygale
    Ca marche nickel

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

Discussions similaires

  1. Exécution de la cmd 'File_exists' dans un script
    Par Ninou14 dans le forum BODI
    Réponses: 3
    Dernier message: 30/01/2014, 18h50
  2. Utiliser un " dans une fonction comme séparateur
    Par nuFox dans le forum WinDev
    Réponses: 3
    Dernier message: 18/02/2009, 16h38
  3. problème de séparateurs dans un script sql
    Par foulla dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 09/06/2008, 12h43
  4. problème de séparateurs dans un script sql
    Par foulla dans le forum Langage SQL
    Réponses: 13
    Dernier message: 09/06/2008, 10h18
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07

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