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 :

Erreur lors de la vérification de l'existence d'un fichier suite à l'exécution d'un script


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projets informatique
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut Erreur lors de la vérification de l'existence d'un fichier suite à l'exécution d'un script
    Bonjour,

    Dans le cadre de l'installation d'un serveur d'impression sous RHEL5, j'ai besoin de renseigner les paramètres proxy de mon entreprise afin d'utiliser yum.

    Pour cela j'ai créer un script qui va créer deux fichiers : /etc/profile.d/proxy.sh et /etc/profile.d/proxy.csh avec les paramètres du proxy.
    (Jusque la tout va bien ! )

    Le problème étant que je souhaite, au préalable vérifier si il existe ou non ces deux fichiers.

    Si ils existent, mon script les suppriment avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rm -f /etc/profile.d/proxy.sh /etc/profile.d/proxy.csh
    Ensuite, c'est la que ça coince !!!

    Mon script crée un fichier /etc/profile.d/proxy.sh à l'aide de la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "# proxy.sh
    export http_proxy=http://proxy_entreprise/
    export ftp_proxy=http://proxy_entreprise/
    export no_proxy=proxy_entreprise
    export HTTP_PROXY=http://proxy_entreprise/
    export FTP_PROXY=http://proxy_entreprise/" >> /etc/profile.d/proxy.sh
    Et ensuite je teste si ce fichier a bien été créer à l'aide de cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if [-e "/etc/profile.d/proxy.sh" ] ; then
                    echo "Création du fichier /etc/profile.d/proxy.sh : [OK]"
            else
                    echo "Erreur lors de la creation du fichier /etc/profile.d/proxy.sh"
            fi
    Dès que j'exécute mon script (en mode debug bien sûr !), celui-ci me retourne une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    + echo '# proxy.sh
    export http_proxy=http://proxy_entreprise/
    export ftp_proxy=http://proxy_entreprise/
    export no_proxy=proxy_entreprise
    export HTTP_PROXY=http://proxy_entreprise/
    export FTP_PROXY=http://proxy_entreprise/
            '
    + '[-e' /etc/profile.d/proxy.sh ']'
    ./config_proxy.sh: line 32: [-e: command not found
    + echo 'Erreur lors de la creation du fichier /etc/profile.d/proxy.sh'
    Ce que je ne comprends pas c'est que la fonction me permettant de tester si un fichier existe marche mais pas ici.

    Avez vous une idée d'où peut venir le problème ?

    Voici mon script complet :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    #!/bin/bash
    # config_proxy.sh
    #
    # Description : Script permettant de renseigner les paramètres du proxy
    #
    # Fonctionnalités :
    #       - Ajout du fichier proxy.sh
    #       - Ajout du fichier proxy.csh
    #
    # Créer le 13/09/2012 par wife
    #
     
    clear
    set -x
    # Configuration du proxy
    echo "=========================="
    echo "* Configuration du proxy *"
    echo "=========================="
    echo ""
     
    # Création du fichier proxy.sh
    if [ -e "/etc/profile.d/proxy.sh" ] ; then
            rm -f /etc/profile.d/proxy.sh
            echo "Suppression de /etc/profile.d/proxy.sh : [OK]"
            echo "# proxy.sh
            export http_proxy=http://proxy_entreprise/
            export ftp_proxy=http://proxy_entreprise/
            export no_proxy=proxy_entreprise
            export HTTP_PROXY=http://proxy_entreprise/
            export FTP_PROXY=http://proxy_entreprise/
            " >> /etc/profile.d/proxy.sh
            if [-e "/etc/profile.d/proxy.sh" ] ; then
                    echo "Création du fichier /etc/profile.d/proxy.sh : [OK]"
            else
                    echo "Erreur lors de la creation du fichier /etc/profile.d/proxy.sh"
            fi
    else
            echo "# proxy.sh
            export http_proxy=http://proxy_entreprise/
            export ftp_proxy=http://proxy_entreprise/
            export no_proxy=proxy_entreprise
            export HTTP_PROXY=http://proxy_entreprise/
            export FTP_PROXY=http://proxy_entreprise/
            " >> /etc/profile.d/proxy.sh
            if [-e "/etc/profile.d/proxy.sh" ] ; then
                    echo "Creation du fichier /etc/profile.d/proxy.sh : [OK]"
            else
                    echo "Erreur lors de la creation du fichier /etc/profile.d/proxy.sh"
            fi
    fi
    # Ajout des droits d'exécution au fichier proxy.sh
    if [ -e "/etc/profile.d/proxy.sh" ] ; then
            chmod +x /etc/profile.d/proxy.sh
            echo "Ajout des droits d'exécution au script : [OK]"
    fi
     
    # Création du fichier proxy.csh
    if [ -e "/etc/profile.d/proxy.csh" ] ; then
            rm -f /etc/profile.d/proxy.csh
            echo "Suppression de /etc/profile.d/proxy.sh : [OK]"
            echo "# proxy.csh
            setenv http_proxy http://proxy_entreprise/
            setenv ftp_proxy http://proxy_entreprise/
            setenv no_proxy proxy_entreprise
            setenv HTTP_PROXY http://proxy_entreprise/
            setenv FTP_PROXY http://proxy_entreprise/
            " >> /etc/profile.d/proxy.csh
            if [-e "/etc/profile.d/proxy.csh" ] ; then
                    echo "Creation du fichier /etc/profile.d/proxy.csh : [OK]"
            else
                    echo "Erreur lors de la creation du fichier /etc/profile.d/proxy.csh"
            fi
    else
            echo "# proxy.csh
            setenv http_proxy http://proxy_entreprise/
            setenv ftp_proxy http://proxy_entreprise/
            setenv no_proxy proxy_entreprise
            setenv HTTP_PROXY http://proxy_entreprise/
            setenv FTP_PROXY http://proxy_entreprise/
            " >> /etc/profile.d/proxy.csh
            if [-e "/etc/profile.d/proxy.csh" ] ; then
                    echo "Creation du fichier /etc/profile.d/proxy.csh : [OK]"
            else
                    echo "Erreur lors de la creation du fichier /etc/profile.d/proxy.csh"
            fi
    fi
     
    # Ajout des droits d'exécution au fichier proxy.csh
    if [ -e "/etc/profile.d/proxy.csh" ] ; then
            chmod +x /etc/profile.d/proxy.csh
            echo "Ajout des droits d'exécution au script : [OK]"
    fi
     
    # Configuration du proxy terminée
    echo "==================================="
    echo "* Configuration du proxy terminée *"
    echo "==================================="
     
    #sleep 2
    read touche
    PS : Je suis passé par tous les sentiments possible...

    -> -> -> -> -> ->

    Cordialement,

    shiomi38

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    Bonjour,

    B A BA de l'écriture de script : respecter la syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [<espace>-e<espace>expression<espace>]<espace>
    le plus simple étant d'utiliser la commande test
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chef de projets informatique
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projets informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut RESOLU
    Merci beaucoup.

    C'est vrai j'avais même pas penser à la syntaxe.

    De plus le problème venait que j'avais omis la commande "test".

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

Discussions similaires

  1. Erreur lors de la vérification d'une contrainte
    Par yo_haha dans le forum Débuter
    Réponses: 9
    Dernier message: 09/06/2011, 15h00
  2. Vérification de l'existence d'un fichier distant
    Par vazkeizh dans le forum Général Java
    Réponses: 2
    Dernier message: 25/06/2008, 11h01
  3. Réponses: 3
    Dernier message: 22/02/2008, 04h03
  4. Vérification de l'existance d'un fichier via HTTP
    Par mouste79 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 02/02/2006, 14h26
  5. Vérification de l'existence d'un fichier
    Par alfu dans le forum ASP
    Réponses: 2
    Dernier message: 06/10/2004, 13h29

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