Set variable d'environnement

salut
j'ai utilise dans in script la commande:

set PRJHOME=`echo $PWD | cut -d / -f 4-5`
echo $PRJHOME

mais dans le echo je n'obtient aucune valeur,ja sais pas pourquoi?
je veux aussi obtenir le resultat si je tape la commande:
echo $PRJHOME dans le prompt
Aidez moi svp

9 réponses

  1. Modérateur
    Salut,

    Parce que ton script doit d'abord se placer dans un répertoire (il doit définir lui même un répertoire exploitable par la variable "$PWD").
    Donc rajoute en début :
    cd /home/prj/itsec/
    if [ -f .prjrc ]; then...
    et là il te retournera le chemin ;-))
    0
    1. toujours pas de reponse???!!!!!!!!!
      je sais pas pk cane marche pas, c bizzare non?
      0
      1. meme avec set, ca donne rien

        le code est le suivant

        #! /bin/sh
        if [ -f /home/prj/itsec/.prjrc ]; then
        echo "le fichier a ete trouve"
        else
        echo "ERREUR"
        echo "le fichier n a pas ete trouve"
        exit
        fi

        set PRJHOME=`echo $PWD | cut -d / -f 4-5`
        echo $PRJHOME
        0
        1. le code est le suivant

          #! /bin/sh
          if [ -f /home/prj/itsec/.prjrc ]; then
          echo "le fichier a ete trouve"
          else
          echo "ERREUR"
          echo "le fichier n a pas ete trouve"
          exit
          fi

          PRJHOME=`echo $PWD | cut -d / -f 4-5`
          echo $PRJHOME

          ca donne rien comme resultat
          0
          1. Modérateur
            Bon, je repose la question : quel est ton shell ???
            Affiches-nous ton script aussi par la même occasion, on est pas devin :-))
            0
            1. lorseque j'essaye avec des commandes dans le prompt, ca marche mais dans un fichier que j'execute ca marche pas!!!!!!!!!!!!
              est ce que quelqu'un connait la reponse?
              0
              1. Modérateur
                C'st bizarre que ça ne marche pas :
                [jp@Mandrake tmpfs]$ echo $PWD
                /home/jp/tmpfs
                
                [jp@Mandrake tmpfs]$ PRJHOME=`echo $PWD | cut -d / -f 2`
                [jp@Mandrake tmpfs]$ echo $PRJHOME
                home
                
                [jp@Mandrake tmpfs]$
                C'est quoi ton shell ?

                Sinon pour définir une variable et la rendre accessible il faut l'exporter :
                export variable=valeur
                ou
                variable=valeur
                export variable
                1
                1. j'ai essaye mais ca n'as pas marche,

                  je veux definir cette variable comment etant une variable d'environnemet qui sera accesssible d'un autre repertoire

                  est ce que vous m'avez compris?
                  0
                  1. Modérateur
                    Salut,

                    Essaye tout simplement :
                    PRJHOME=`echo $PWD | cut -d / -f 4-5`
                    :-))
                    0