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

RedHat / CentOS / Fedora Discussion :

export et variable environnement


Sujet :

RedHat / CentOS / Fedora

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2007
    Messages : 104
    Par défaut export et variable environnement
    Bonjour
    J'ai un souci avec un shell (qui n'avait pas ete codé par moi) qui declare tout un tas de var. d'environnement. Initialement, pour initialiser ces variables, il fallait taper (init_parex.ksh est le shell en question):
    voici le code de init_parex.ksh (je precise qu'a cette etape $REP_PRD est connu)

    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
     
    $LOCAL=$REP_PRD
    $JDB="$LOCAL/jdb"
    $BIN="$LOCAL/bin"
    $CNF="$LOCAL/conf"
     
    export CP_ENV_LOCAL="$LOCAL"
    echo "$CP_ENV_LOCAL (init_parex)"
    # Repertoire jdb
    #declare -x CP_ENV_JDB=$JDB
    export CP_ENV_JDB=$JDB
    # Repertoire bin
    export CP_ENV_BIN=$BIN
    # Repertoire conf
    export CP_ENV_CONF=$CNF

    En lancant "export" en ligne de commande, on constate que les var. d'environnements ont ete créées (non vide)

    Pour les besoins du projet, je dois passer par un autre script qui lui appele init_parex.ksh (ce script lancement.ksh definit d'ailleurs la variable REP_PRD qui n'est autre qu'un chemin vers une arborescence).

    Lorsque que j'appelle init_parex.ksh depuis lancement.ksh, via la commande "source init_parex.ksh", il s'execute mais la commande "export" me renvoie des var. d'environnements vides cette fois ?!!

    Je ne comprends pas pourquoi ces var. ne sont pas creees en appelant depuis un autre script ?!!

    Avez-vous une idee svp ??
    Merci par avance

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

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

    heu, quand j'essaie de déclarer des variables comme ça :même si var existe, le shell m'envoie promener...

    qu'y a-t-il dans le script avant qu'il source init_parex.ksh ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2007
    Messages : 104
    Par défaut script
    Bonjour

    Voici le script (lancement.ksh) qui appelle init_parex.ksh :

    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
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    #!/bin/ksh
    ############################################################################
    #  Shell script used to launch all makefile related to executable or library
    ############################################################################
     
    function InsUtilGetRep
    {
       InsUtilProc=$1
     
       InsUtilWhere=`pwd`
     
       InsUtilChemin=`dirname ${InsUtilProc}`
       InsUtilNomProc=`basename ${InsUtilProc}`
     
     
       # le script que l'on lance est un lien
       if [ -L ${InsUtilProc} ]
       then
          cd ${InsUtilChemin}
          InsUtilBase=`pwd`
          cd ${InsUtilWhere}
     
          # on construit le nom de la proc en recuperant le nom du lien
          InsUtilProcBis=`\ls -l ${InsUtilChemin}/${InsUtilNomProc} | awk '{print $11}'` 
          InsUtilCheminBis=`dirname ${InsUtilProcBis}`
     
          # on cherche maintenant a savoir si le nom du repertoire est relatif
          # ou bien absolu : on recherche le / de debut de chemin absolu
          InsUtilPremierCar=`echo ${InsUtilCheminBis} | cut -c 1`
     
          if [ "${InsUtilPremierCar}" = "/" ]
          then
             InsUtilChemin=${InsUtilCheminBis}
          else
             InsUtilChemin="${InsUtilBase}/${InsUtilCheminBis}"
          fi
     
       fi
     
       # si le repertoire est lui meme un lien ou un chemin relatif
       cd ${InsUtilChemin}
       InsUtilChemin=`pwd`
       cd ${InsUtilWhere}
     
       # nom du repertoireexport REP_PRD=`InsUtilGetRep $0`
    gen_rep="$REP_PRD/gen" 
       InsUtilRepIni=`dirname ${InsUtilChemin}`
     
       echo ${InsUtilRepIni}
    }
    # Get gen directory
    export REP_PRD=`InsUtilGetRep $0`
    gen_rep="$REP_PRD/gen"
     
     
     
    # Set COMMON_PRD variable
     
    if [ ! -d $REP_PRD/../../COMMUNS/trunk/ ]
    then
       # We are in tag version
        # Need to search all available version
        # get version number
        existing_version=`ls $REP_PRD/../../../COMMUNS/tags/`
        if [ `ls $REP_PRD/../../../COMMUNS/tags | wc -l` -eq 1 ]
        then
           # Only one version is present so we take it
           export COMMON_PRD="$REP_PRD/../../../COMMUNS/tags/$existing_version/"
        else
            # several version exist, we to ask user for the correct version
            echo "!!!!!!! Warning, several version of Common product exist, Please choose the correct version : " $existing_version
            read version
            while [ ! -d $REP_PRD/../../../COMMUNS/tags/$version ]
            do
               echo "!!!!!!! Warning, several version of Common product exist, Please choose the correct version : "$existing_version
               read version
            done
            export COMMON_PRD=`readlink -f $REP_PRD/../../../COMMUNS/tags/$version/`
        fi
    else
       # We are in trunk version
       export COMMON_PRD=`readlink -f $REP_PRD/../../COMMUNS/trunk/`
    fi
    echo "!!!!!!!!!!!!!!!Warning COMMON_PRD set to $COMMON_PRD!!!!!!!!!!!!!!!!!!!"
    # Set REP_COTS variable
    if [ ! -d $REP_PRD/../../COTS/ ]
    then
       # We are in tag version
       export REP_COTS=`readlink -f $REP_PRD/../../../COTS/`
    else
       # We are in trunk version
       export REP_COTS=`readlink -f $REP_PRD/../../COTS/`
    fi
    OLD_PWD=$PWD
     
    # Calling Parex initializing script (setting env. variables)
    init_parex_rep="$REP_PRD/pkg/scripts"
     
    # go to directory
    cd $init_parex_rep
     
    # calling init_parex
    source $init_parex_rep"/init_parex.ksh"
     
    #this does not work : 
    #./init_parex.ksh
    # ##########################################################
     
    # Then go to generation repository
    cd $gen_rep
     
    # And compile IHM
    make clean -f Makefile_IHM
    make -f Makefile_IHM
    Pour lancer ce script, je tape : ou PAREX est un repertoire de dev à indiquer

Discussions similaires

  1. Export de variable d'environnement
    Par gege2061 dans le forum AIX
    Réponses: 1
    Dernier message: 06/01/2008, 13h02
  2. [UNIX] - Problème export : Variable environnement
    Par marcel_kobain dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 06/12/2007, 14h15
  3. [D6] Modifier variable environnement système !?
    Par Lung dans le forum API, COM et SDKs
    Réponses: 32
    Dernier message: 19/05/2005, 19h43
  4. installer une variable environnement dans windows xp pack 2
    Par superjeanpi dans le forum Windows XP
    Réponses: 1
    Dernier message: 03/03/2005, 10h13
  5. Réponses: 3
    Dernier message: 23/02/2005, 14h34

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