Mon code/etc/profile est:
# /etc/profile: system-wide .profile file for the Bourne Shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "$PS1" ]; then
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
Java_HOME=/usr/lib/jvm/Java-6-Sun
export Java_HOME
quand j'exécute la commande echo $ Java_HOME, je reçois:
exportib/jvm/Java-6-Sun
Je m'attendais à /usr/lib/jvm/Java-6-Sun
.
Veuillez indiquer comment obtenir la valeur attendue.
Vous devriez JAMAIS ajouter vos variables d'environnement et les exporter vers /etc/profile
. Ce fichier est SEULEMENT pour la configuration des fichiers de base du système et des packages .
Au lieu de cela, créez un fichier appelé
/etc/profile.d/Java.sh
... et ensuite ajouter
Java_HOME=/usr/lib/jvm/Java-6-Sun
export Java_HOME
à ce fichier. Il sera exécuté chaque fois qu'un shell est ouvert.
Beaucoup de gens suggèrent exactement ce que vous avez fait, mais c'est absolument incorrect et le résultat que vous avez obtenu est directement lié à l'utilisation de ce fichier pour une mauvaise raison.
Voir:
https://help.ubuntu.com/community/EnvironmentVariables
SOUS: System-wide environment variables
pour en savoir plus sur ce sujet, sur la méthode appropriée pour configurer les variables d'environnement à l'échelle du système et sur la raison pour laquelle il est correct. faire cela.