Suppressions dans PATH (Shell)
endefu
Messages postés
21
Statut
Membre
-
endefu Messages postés 21 Statut Membre -
endefu Messages postés 21 Statut Membre -
Bonjour,
J'ai quelques problèmes avec mon PATH. J'ai dans le passé rajouter dans mon .bashrc ce code
Depuis je l'ai supprimé et je pensais que ca allait definitivement supprimer ce chemin dans mon PATH. Mais finalement non. Si je le supprime "manuellement" en faisant par exemple
je supprime bien le chemin, mais dès que je ferme et réouvre un terminal, celui ci apparaît à nouveau. Si je comprends bien ce chemin est chargé au demarrage du terminal, mais je ne sais pas ou (puisque je l'ai supprimé dans .bashrc).
Si quelqu'un a une idée, je suis preneur.
Merci beaucoup
J'ai quelques problèmes avec mon PATH. J'ai dans le passé rajouter dans mon .bashrc ce code
PATH=/usr/lib/mpich2/bin:${PATH}
Depuis je l'ai supprimé et je pensais que ca allait definitivement supprimer ce chemin dans mon PATH. Mais finalement non. Si je le supprime "manuellement" en faisant par exemple
PATH=$(echo $PATH| sed -e 's/\/usr\/lib\/mpich2\/bin//' -e 's/::/:/') export PATH
je supprime bien le chemin, mais dès que je ferme et réouvre un terminal, celui ci apparaît à nouveau. Si je comprends bien ce chemin est chargé au demarrage du terminal, mais je ne sais pas ou (puisque je l'ai supprimé dans .bashrc).
Si quelqu'un a une idée, je suis preneur.
Merci beaucoup
A voir également:
- Suppressions dans PATH (Shell)
- Classic shell - Télécharger - Personnalisation
- Path of exile 2 - Guide
- Classic shell c'est quoi ✓ - Forum Windows 8 / 8.1
- Id chinois one piece fighting path - Forum Jeux vidéos smartphones
- Classic shell ✓ - Forum Windows 10
2 réponses
Salut,
Ta commande supprime le chemin de la variable PATH de ton environnement, mais pas du fichier .bashrc ;-(
Celle-là devrait le faire :
Ta commande supprime le chemin de la variable PATH de ton environnement, mais pas du fichier .bashrc ;-(
Celle-là devrait le faire :
sed -e 's/\/usr\/lib\/mpich2\/bin//' -e 's/::/:/' ~/.bashrc
Mais j'ai déjà supprimer le chemin de mon .bashrc. ??
Je vous montre mon .bashrc
Comme vous le voyez à la fin du fichier j'ai commenté deux commandes ou je rajoutais (à l'époque) deux chemins d'environnement. Ces chemins ne devraient donc pas être rajoutés?? Quand je fais echo de mon PATH, c'est assez flippant de voir ca :
Y'a plein de doublons et il reste la ligne que j'ai supprimé de mon .bashrc :
Encore plus flippant, hier soir je n'avais qu'une seule fois la ligne
et j'avais aussi deux lignes (qui ont disparu maintenant, alors que j'ai rien changé)
Je ne comprends plus rien :s. J'ai l'impression qu'il charge des PATH via un autre fichier .bash qui contientrait les anciennes commandes que j'avais mis dans mon .bashrc.
Je vous montre mon .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
#COMPILATEUR INTEL FORTRAN
#compilateur intel_fortan
source /opt/intel/Compiler/11.0/074/bin/ifortvars.sh ia32
PATH=$PATH:/opt/intel/Compiler/11.0/074/bin
export PATH
#debugger intel fortran
source /opt/intel/Compiler/11.0/074/bin/ia32/idbvars.sh
PATH=$PATH:/opt/intel/Compiler/11.0/074/bin/ia32
export PATH
#si ifort repond "cannot find g++"
export LC_ALL=C
#DISLIN
DISLIN=/usr/local/dislin
export DISLIN
PATH=${PATH}:${DISLIN}/bin
export PATH
LD_LIBRARY_PATH=$DISLIN:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
#OPENMPI
OPENMPI=/usr/lib/openmpi
export OPENMPI
PATH=${OPENMPI}/bin:${PATH}
export PATH
LD_LIBRARY_PATH=${OPENMPI}/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
#ALIASES : User specific aliases and functions
. /home/jeremy/.bashrc_alias
#PATH=${PATH}:/home/jeremy/these/Brown/exe-u/nux-u64-i11:/home/jeremy/these/Brown/exe-u/bin
#MPICH2
#MPICH2=/usr/lib/mpich2
#export MPICH2
#PATH=${MPICH2}/bin:${PATH}
#export PATH
#LD_LIBRARY_PATH=${MPICH2}/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH
Comme vous le voyez à la fin du fichier j'ai commenté deux commandes ou je rajoutais (à l'époque) deux chemins d'environnement. Ces chemins ne devraient donc pas être rajoutés?? Quand je fais echo de mon PATH, c'est assez flippant de voir ca :
/usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/lib/mpich2/bin /usr/kerberos/sbin /usr/kerberos/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /opt/real/RealPlayer /opt/intel/Compiler/11.0/074/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/local/dislin/bin /home/jeremy/bin /opt/real/RealPlayer /opt/intel/Compiler/11.0/074/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/local/dislin/bin
Y'a plein de doublons et il reste la ligne que j'ai supprimé de mon .bashrc :
/usr/lib/mpich2/bin
Encore plus flippant, hier soir je n'avais qu'une seule fois la ligne
/usr/lib/openmpi/bin
et j'avais aussi deux lignes (qui ont disparu maintenant, alors que j'ai rien changé)
/home/jeremy/these/Brown/exe-u/nux-u64-i11 /home/jeremy/these/Brown/exe-u/bin
Je ne comprends plus rien :s. J'ai l'impression qu'il charge des PATH via un autre fichier .bash qui contientrait les anciennes commandes que j'avais mis dans mon .bashrc.
1) d'abord mon .bash_profile :
ca ne rajoute au PATH que
2) Mon /etc/bashrc
Celui ci je comprend rien à ce qui fait, il a pas l'air de rajouter des truc dans mon PATH puisque pathmunge n'est pas utilisé
3) Mon /etc/profile
Ici il semble rajouter /sbin , /usr/sbin , /usr/local/sbin.
4) Mon .bash_logout est vide
5) Mon env
Voilà, moi je suis perdu. En soit c'est pas dérangeant d'avoir des doublons (enfin je crois) mais c'est sacrement crados dans ce PATH.
PS: désolé pour le message de 3km
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
ca ne rajoute au PATH que
$HOME/bin.
2) Mon /etc/bashrc
# /etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile
# By default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ $UID -gt 99 ] && [ "'id -gn'" = "'id -un'" ]; then
umask 002
else
umask 022
fi
# are we an interactive shell?
if [ "$PS1" ]; then
case $TERM in
xterm*)
if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
else
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"'
fi
;;
screen)
if [ -e /etc/sysconfig/bash-prompt-screen ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
else
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"'
fi
;;
*)
[ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
;;
esac
# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
fi
if ! shopt -q login_shell ; then # We're not a login shell
# Need to redefine pathmunge, it get's undefined at the end of /etc/profile
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Only display echos from profile.d scripts if we are no login shell
# and interactive - otherwise just process them to set envvars
for i in /etc/profile.d/*.sh; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. $i
else
. $i >/dev/null 2>&1
fi
fi
done
unset i
unset pathmunge
fi
# vim:ts=4:sw=4
Celui ci je comprend rien à ce qui fait, il a pas l'air de rajouter des truc dans mon PATH puisque pathmunge n'est pas utilisé
3) Mon /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
EUID='id -u'
UID='id -ru'
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
fi
if [ -x /usr/bin/id ]; then
USER="'id -un'"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
HOSTNAME='/bin/hostname 2>/dev/null'
HISTSIZE=1000
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. $i
else
. $i >/dev/null 2>&1
fi
fi
done
unset i
unset pathmunge
Ici il semble rajouter /sbin , /usr/sbin , /usr/local/sbin.
4) Mon .bash_logout est vide
5) Mon env
MKLROOT=/opt/intel/Compiler/11.0/074/mkl
MANPATH=/opt/intel/Compiler/11.0/074/mkl/man:/opt/intel/Compiler/11.0/074/man:/opt/intel/Compiler/11.0/074/mkl/man:/opt/intel/Compiler/11.0/074/man:/usr/share/man/mpich2:/usr/share/man:/usr/local/share/man
ORBIT_SOCKETDIR=/tmp/orbit-jeremy
MPI_INCLUDE=/usr/include/mpich2-i386
HOSTNAME=phnpct227.extra.cea.fr
IMSETTINGS_INTEGRATE_DESKTOP=yes
INTEL_LICENSE_FILE=/opt/intel/Compiler/11.0/074/licenses:/opt/intel/licenses:/home/jeremy/intel/licenses:/opt/intel/Compiler/11.0/074/licenses:/opt/intel/licenses:/home/jeremy/intel/licenses
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
XDG_SESSION_COOKIE=8ad42f3c0367c46dfeb5afb2497dfcf3-1274345261.472622-1053536043
LIBRARY_PATH=/opt/intel/Compiler/11.0/074/mkl/lib/32:/opt/intel/Compiler/11.0/074/mkl/lib/32
GTK_RC_FILES=/etc/gtk/gtkrc:/home/jeremy/.gtkrc-1.2-gnome2
WINDOWID=56623789
FPATH=/opt/intel/Compiler/11.0/074/mkl/include:/opt/intel/Compiler/11.0/074/mkl/include
LC_ALL=C
IMSETTINGS_MODULE=none
USER=jeremy
MPI_PYTHON_SITEARCH=/usr/lib/python2.6/site-packages/mpich2
LS_COLORS=rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
LD_LIBRARY_PATH=/usr/lib/openmpi/lib:/usr/local/dislin:/opt/intel/Compiler/11.0/074/mkl/lib/32:/opt/intel/Compiler/11.0/074/lib/ia32:/usr/lib/openmpi/lib:/usr/local/dislin:/opt/intel/Compiler/11.0/074/mkl/lib/32:/opt/intel/Compiler/11.0/074/lib/ia32:/usr/lib/mpich2/lib
CPATH=/opt/intel/Compiler/11.0/074/mkl/include:/opt/intel/Compiler/11.0/074/mkl/include
SSH_AUTH_SOCK=/tmp/keyring-IGQtRq/socket.ssh
GNOME_KEYRING_SOCKET=/tmp/keyring-IGQtRq/socket
USERNAME=jeremy
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/2209,unix/unix:/tmp/.ICE-unix/2209
MPI_LIB=/usr/lib/mpich2/lib
NLSPATH=/opt/intel/Compiler/11.0/074/idb/ia32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/mkl/lib/32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/idb/ia32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/lib/ia32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/idb/ia32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/mkl/lib/32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/idb/ia32/locale/%l_%t/%N:/opt/intel/Compiler/11.0/074/lib/ia32/locale/%l_%t/%N
PATH=/usr/lib/openmpi/bin:/opt/intel/Compiler/11.0/074/bin/ia32:/usr/lib/openmpi/bin:/opt/intel/Compiler/11.0/074/bin/ia32:/usr/lib/mpich2/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/real/RealPlayer:/opt/intel/Compiler/11.0/074/bin:/opt/intel/Compiler/11.0/074/bin/ia32:/usr/local/dislin/bin:/home/jeremy/bin:/opt/real/RealPlayer:/opt/intel/Compiler/11.0/074/bin:/opt/intel/Compiler/11.0/074/bin/ia32:/usr/local/dislin/bin
DESKTOP_SESSION=gnome
MAIL=/var/spool/mail/jeremy
MPI_BIN=/usr/lib/mpich2/bin
QT_IM_MODULE=xim
MPI_COMPILER=mpich2-i386
PWD=/home/jeremy
_LMFILES_=/usr/share/Modules/modulefiles/mpich2-i386
XMODIFIERS=@im=none
KDE_IS_PRELINKED=1
LANG=fr_FR.UTF-8
GNOME_KEYRING_PID=2193
GDM_LANG=fr_FR.UTF-8
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
LOADEDMODULES=mpich2-i386
KDEDIRS=/usr
GDMSESSION=gnome
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
MPI_SYSCONFIG=/etc/mpich2-i386
HOME=/home/jeremy
DISLIN=/usr/local/dislin
SHLVL=2
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
KMIX_PULSEAUDIO_DISABLE=1
MPI_SUFFIX=_mpich2
MPI_MAN=/usr/share/man/mpich2
LOGNAME=jeremy
OPENMPI=/usr/lib/openmpi
CVS_RSH=ssh
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-E9gIEP6qHD,guid=2b191d2f49137220e4035fd74bf4f72d
MPI_HOME=/usr/lib/mpich2
MODULESHOME=/usr/share/Modules
MPI_FORTRAN_MOD_DIR=/usr/include/mpich2-i386
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=:0.0
INCLUDE=/opt/intel/Compiler/11.0/074/mkl/include:/opt/intel/Compiler/11.0/074/mkl/include
G_BROKEN_FILENAMES=1
XAUTHORITY=/var/run/gdm/auth-for-jeremy-EWkNjf/database
COLORTERM=gnome-terminal
module=() { eval '/usr/bin/modulecmd bash $*'
}
_=/usr/bin/env
Voilà, moi je suis perdu. En soit c'est pas dérangeant d'avoir des doublons (enfin je crois) mais c'est sacrement crados dans ce PATH.
PS: désolé pour le message de 3km
Voilà ce que tu as en double (et le nombre de fois) :
Tu devrais regarder dans ton .bashrc ce que les différents "source" rajoute dans ton environnement ;-\
$ echo "$VAR" | sed 's/:/\n/g' | sort | uniq -dc
2 /opt/intel/Compiler/11.0/074/bin
4 /opt/intel/Compiler/11.0/074/bin/ia32
2 /opt/real/RealPlayer
2 /usr/lib/openmpi/bin
Tu devrais regarder dans ton .bashrc ce que les différents "source" rajoute dans ton environnement ;-\
Bien vu, en effet quand je faisais "source" je mettais déjà dans mon PATH :
Du coup j'ai supprimer dans mon .bashrc les lignes :
(la premiere parceque elle ne servait à rien en fait).
Ensuite j'ai coupé le terminal et j'en ai relancé un nouveau j'ai obtenu pour le path:
Par rapport à avant j'ai eu deux lignes en moins. Ensuite j'ai éteind et rallumé l'ordi et j'ai eu
Du coup il me semble que c'est comme si j'ajoutais deux fois :
Sachant que je ne sais pas du tout ou est ce que j'ai mis "opt/real/RealPlayer", car il n'y est pas dans mon .bashrc. Il me reste enfin toujours le pb de
/opt/intel/Compiler/11.0/074/bin/ia32
Du coup j'ai supprimer dans mon .bashrc les lignes :
PATH=$PATH:/opt/intel/Compiler/11.0/074/bin export PATH PATH=$PATH:/opt/intel/Compiler/11.0/074/bin/ia32 export PATH
(la premiere parceque elle ne servait à rien en fait).
Ensuite j'ai coupé le terminal et j'en ai relancé un nouveau j'ai obtenu pour le path:
/usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/lib/mpich2/bin /usr/kerberos/sbin /usr/kerberos/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /opt/real/RealPlayer /opt/intel/Compiler/11.0/074/bin/ia32 /opt/intel/Compiler/11.0/074/bin /usr/local/dislin/bin /home/jeremy/bin /opt/real/RealPlayer /usr/local/dislin/bin
Par rapport à avant j'ai eu deux lignes en moins. Ensuite j'ai éteind et rallumé l'ordi et j'ai eu
/usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /usr/lib/mpich2/bin /usr/kerberos/sbin /usr/kerberos/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /opt/real/RealPlayer /usr/local/dislin/bin /home/jeremy/bin /opt/real/RealPlayer /usr/local/dislin/bin
Du coup il me semble que c'est comme si j'ajoutais deux fois :
/usr/lib/openmpi/bin /opt/intel/Compiler/11.0/074/bin/ia32 /opt/real/RealPlayer /usr/local/dislin/bin
Sachant que je ne sais pas du tout ou est ce que j'ai mis "opt/real/RealPlayer", car il n'y est pas dans mon .bashrc. Il me reste enfin toujours le pb de
/usr/lib/mpich2/binque je voulais supprimer.