Probleme variable d'environnement

Bonjour,

Bonjour à tous,

j'aimerais si vous plait que quelqun m'aide a comprendre et regler ce probleme merci

Ma question est que J'aimerias savoir pourquoi quand je modifie ce fichier (/etc/profile) en creeant des variables d'environnement et en les exportant, ces memes variables n'existent plus si je reboot
exemple si je rajoute a la fin de /etc/profile (avec vim en executant sudo vi /etc/profile)

OK=12
export OK

au demarage lorsque j'ouvre mon shell et que je tape un echo $OK rien ne s'affiche par contre si je l'execute en tapant
sudo . /etc/prpofile

ensuite
echo $OK

la variable s'affiche bien.

donc j'en conclu que ce fichier n'est pas lu au demarage donc comment faire pour qu'il soit lu au demarage?
ensuite j'ai fait la manipulation avec le fichier .bashrc et la pas de probleme tout est pris en compte.

Linux Debian
Mozilla 1.8.1.12
Configuration: Linux Debian
Mozilla 1.8.1.12

6 réponses

  1. Contributeur
    /etc/profile n'est exécuté qu'au login. en tapant
    bash --login
    /etc/profile doit s'exécuter. Essayer de mettre, au début de /etdc/profile une trace pour voir:
    echo "exécution de $0"
    ou un
    set -x
    pour affchier ligne par ligne
    1. Contributeur
      et en invoquant bash --login ?
      1. comment est ce que j'invoque bash --login et a quoi sert cette commande?
    2. Modérateur
      Je parlais de ".bash_profile" (ou .profile en fonction des systèmes ou distribs)...
      1. en essayant avec .bash_profile c'est la meme chose que avec /etc/profile
      2. @steeve93800est ce un probleme lie au demarage??
        voila mon /etc/profile:

        # /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
        # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

        if [ "`id -u`" -eq 0 ]; then
        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        else
        PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
        fi

        if [ "$PS1" ]; then
        if [ "$BASH" ]; then
        PS1='\u@\h:\w\$ '
        else
        if [ "`id -u`" -eq 0 ]; then
        PS1='# '
        else
        PS1='$ '
        fi
        fi
        fi

        export PATH

        umask 022

        DES=12
        export DES

        ensuite voila mon bash_profile:

        # ~/.bash_profile: executed by bash(1) for login shells.
        # see /usr/share/doc/bash/examples/startup-files for examples.
        # the files are located in the bash-doc package.

        # the default umask is set in /etc/login.defs
        #umask 022

        # include .bashrc if it exists
        if [ -f ~/.bashrc ]; then
        . ~/.bashrc
        fi

        # set PATH so it includes user's private bin if it exists
        if [ -d ~/bin ] ; then
        PATH=~/bin:"${PATH}"
        fi

        ML=12
        export ML

        donc si je veux faire echo $DES (pour /etc/profile)

        ou echo $ML (.bash_profile)

        au redemmarage cela n'affiche rien

        merci d'avance pour vos reponse
      3. @steeve93800meme le fait de les rendre executable ne marchent pas
        j'aimerais savoir si c'est lie au demarrage et si il ya un moyen de regler ça merci d'avance
    3. Modérateur
      Salut,

      T'as essayé de mettre ta variable dans ton ".profile" ou ".bash_profile" ?
      1. en la mettant dans .baschrc c'est le meme probleme au redemarage du systeme
      2. @steeve93800non excusez moi sa marche avec .bashrc mais pas si je la met dans /etc/profile
    4. Contributeur
      et en exécutant . /etc/profile sans le sudo ?
      et en faisant chmod a+x /etc/profile ?
      1. merci pour ta reponse dubcek

        j'ai change les droits comme tu me l'as di et la quad je tape . /etc/profile
        et que ensuite je tape echo $OK il m'affiche bien la variable mais
        quand j'eteins mon ordi et que je redemarre la en faisant echo $OK la varaible ne s'affiche plus

        donc retour a case depart et pourtant quand je fais vi /etc/profile
        OK=12
        export OK

        est bien present !

        peut etre est ce parce que je l'ai mis juste apres la ligne umask 022 ??
    5. Contributeur
      quels sont les droits du fichier ? ls -l /etc/profile ?
      1. bonjour merci pour ta reponse voici les droits du fichier:

        -rw-r--r-- 1 root root 496 2008-03-13 16:55 /etc/profile