$PATH et export PATH=$PATH:/chemin

Bonjour

lorsque j’ajoute à la commande $PATH un chemin comme ceci

celle-ci est ajouté, mais si je redémarre mon serveur elle elle n’y est plus dans $PATH

serveur@debian:~$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games serveur@debian:~$

Comment faire pour quel reste définitivement das $PATH ?

Merci

Salut,

Dans quel fichier l’ajoutes-tu ? /etc/profile ?

Bonjour,

Dans aucun, je ne comprend pas votre question car je tape directement sur l’user (serveur) en $ et #

export PATH=$PATH:/home/serveur/scriptsca marche imédiatement et quand je redémarre le serveur le chemin n’y est plus dans $PATH il faut que je le rajoute de nouveau.

Merci.

Re,

Quand tu redémarres le serveur il se sert de SES fichiers pour s’initialiser :slightly_smiling:

Bonjour,

Mais je n’ai pas la réponse ??
Dans quel fichier dois-je y inscrire en dur ?

Merci.

[quote=“ggoodluck47”]Salut,

Dans quel fichier l’ajoutes-tu ? /etc/profile ?[/quote]

export PATH doit être mis dans le fichier ~/.bashrc

Salut,

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/local/games:/usr/games" fi export PATH

Dans mon /etc/profile ???

C’est bien dans le fichier profile que doit être déclaré la variable PATH.
Le fichier bashrc ne sert à déclarer que les variables spécifiques à bash (par exemple ajouter au PATH un dossier ne contenant que des scripts bash).

Petit complément : le choix entre /etc/profile et /home/utilisateur/.profile se fait selon la visibilité qu’on veut donner à la configuration (accessible à tous les utilisateurs pour /etc, ou seulement à un utilisateur donné pour /home/utilisateur).

Bonjour

Ca marche pour l’utilisateur serveur (/etc/profile) mais pas quand je suis en root #
Quel est le fichier pour root ?

[code]root@debian:~# cat /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/local/games:/usr/games:/home/serveur/scripts"
fi
export PATH

if [ “$PS1” ]; then
if [ “$BASH” ]; 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
root@debian:~# [/code]

Merci

Re,

En dehors du IF tout irait mieux :slightly_smiling:

Bonjour,

c’est bon, ca marche pour l’utilisateur serveur $ et root #

[code]root@debian:~# cat /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:/home/serveur/scripts"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/serveur/scripts"
fi
export PATH

if [ “$PS1” ]; then
if [ “$BASH” ]; 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
root@debian:~# [/code]

Merci.