Probleme variable d'environnement

steeve93800 -  
dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   -
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

6 réponses

dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
quels sont les droits du fichier ? ls -l /etc/profile ?
0
steeve93800
 
bonjour merci pour ta reponse voici les droits du fichier:

-rw-r--r-- 1 root root 496 2008-03-13 16:55 /etc/profile
0
dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
et en exécutant . /etc/profile sans le sudo ?
et en faisant chmod a+x /etc/profile ?
0
steeve93800
 
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 ??
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

T'as essayé de mettre ta variable dans ton ".profile" ou ".bash_profile" ?
0
steeve93800
 
en la mettant dans .baschrc c'est le meme probleme au redemarage du systeme
0
steeve93800 > steeve93800
 
non excusez moi sa marche avec .bashrc mais pas si je la met dans /etc/profile
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Je parlais de ".bash_profile" (ou .profile en fonction des systèmes ou distribs)...
0
steeve93800
 
en essayant avec .bash_profile c'est la meme chose que avec /etc/profile
0
steeve93800 > steeve93800
 
est 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
0
steeve93800 > steeve93800
 
meme 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
et en invoquant bash --login ?
0
steeve93800
 
comment est ce que j'invoque bash --login et a quoi sert cette commande?
0
dubcek Messages postés 19025 Date d'inscription   Statut Contributeur Dernière intervention   5 640
 
/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
0