C'est très bizarre tous tes fichiers, pour l'instant je te conseil de lire le man....
Code : Tout sélectionner
Lorsque bash est lancé comme shell de connexion interactif, ou comme shell non-interactif avec l'option --login, il lit et exécute tout d'abord les commandes se trouvant dans le fichier /etc/profile s'il existe. Après lecture de ce fichier, il recherche ~/.bash_profile, ~/.bash_login, et ~/.profile, dans cet ordre, et exécute les commandes se trouvant dans le premier fichier existant et accessible en lecture. L'option --noprofile peut être utilisée au démarrage du shell pour empêcher ce comportement.
Lorsqu'un shell de connexion se termine, bash lit et exécute les commandes du fichier ~/.bash_logout, s'il existe.
Quand un shell interactif démarre sans être un shell de connexion, bash lit et exécute les commandes se trouvant dans ~/.bashrc s'il existe. Ce comportement peut être inhibé à l'aide de l'option --norc. L'option --rcfile fichier forcera bash à exécuter les commandes dans fichier plutôt que dans ~/.bashrc.
Quand bash est démarré de manière non-interactive, pour lancer un script shell par exemple, il recherche la variable BASH_ENV dans l'environnement, développe son contenu si elle existe, et considère cette valeur comme le nom d'un fichier à lire et exécuter. Bash se comporte comme si la commande suivante se trouvait en début de script :
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
mais la valeur de la variable PATH n'est pas utilisée pour rechercher le fichier.
Si bash est invoqué sous le nom sh, il essaye d'imiter le comportement de démarrage des versions historiques de sh autant que possible, tout en restant conforme aux spécifications POSIX. Lorsqu'il est invoqué comme shell de connexion interactif (ou non-interactif avec l'option --login), il essaye d'abord d'exécuter les commandes se trouvant dans /etc/profile et ~/.profile, dans cet ordre. L'option --noprofile peut toujours être utilisée pour désactiver ce comportement. Quand il est invoqué en tant que shell interactif sous le nom sh, bash consulte la variable ENV, développe sa valeur si elle est définie et utilise le résultat en tant que nom de fichier à lire et exécuter. Comme un shell invoqué sous le nom sh n'essaye pas d'exécuter d'autre fichier de démarrage, l'option --rcfile n'a aucun effet. Un shell non interactif invoqué sous le nom sh ne lit aucun autre fichier d'initialisation. Quand il est invoqué sous le nom sh, bash entre en mode posix après avoir lu les fichiers d'initialisation.
Quand bash est invoqué en mode posix, avec l'option --posix sur la ligne de commande, il suit ce standard en ce qui concerne les fichiers de démarrage. Dans ce cas, la variable ENV est développée, et le fichier qui en résulte est exécuté. On n'exécute pas d'autre fichier d'initialisation.
Bash tente de déterminer s'il est exécuté par le démon lançant les shells distants (généralement appelé rshd). Si bash se rend compte qu'il est exécuté par rshd, il lit et exécute les commandes de ~/.bashrc si ce fichier existe et est lisible. Il n'a pas ce comportement lorsqu'il est invoqué sous le nom sh. L'option --norc peut être utilisé pour interdire ce comportement, et l'option --rcfile permet de forcer l'utilisation d'un autre fichier, mais rshd n'utilise généralement pas ces options et ne permet pas non plus leur utilisation.
~/.bashrc nettoyé
Code : Tout sélectionner
# Check for an interactive session
[ -z "$PS1" ] && return
# Voir le man de bash, mettre --login pour charger le profile...
eval `dircolors -b`
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\]\[\e[1;32m\]\$ \[\e[m\]'
# Voir le man de bash, mettre --login pour charger le profile...
.bash_profile
/etc/profile nettoyé
Code : Tout sélectionner
#
#Determine our shell without using $SHELL, which may lie
shell="sh"
if test -f /proc/mounts; then
case $(/bin/ls -l /proc/$$/exe) in
*bash) shell=bash ;;
*dash) shell=dash ;;
*ash) shell=ash ;;
*ksh) shell=ksh ;;
*zsh) shell=zsh ;;
esac
fi
#echo "On charge /etc/profile shell : .$shell" #Pour debugger
# Load shell specific profile settings
test -f "/etc/profile.$shell" && . "/etc/profile.$shell"
#Set our umask
umask 022
# Set our default path
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
export PATH
INPUTRC="/etc/inputrc"
LESS="-R"
LC_COLLATE="C"
export HISTSIZE HISTCONTROL INPUTRC LESS LC_COLLATE
# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
for profile in /etc/profile.d/*.sh; do
test -x $profile && . $profile
done
unset profile
fi
# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP
# Man is much better than us at figuring this out
unset MANPATH
/etc/profile.bash
Code : Tout sélectionner
#
PS1='[\u@\h \W]\$ '
PS2='> '
PS3='> '
PS4='+ '
export PS1 PS2 PS3 PS4
ulimit -Sc 0 #Don't create core files
if test "$TERM" = "xterm" -o \
"$TERM" = "xterm-color" -o \
"$TERM" = "xterm-256color" -o \
"$TERM" = "rxvt" -o \
"$TERM" = "rxvt-unicode" -o \
"$TERM" = "xterm-xfree86"; then
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
export PROMPT_COMMAND
fi