2017-05-09 4 views
0

Ich versuche, Software-Sammlungen auf CentOS 6.8 Server zu verwenden, aber es wird die Umgebungsvariable PATH nicht korrekt gesetzt, wenn der übergebene Befehl "bash" ist, aber "tcsh" funktioniert ...'scl enable' nicht PATH mit Bash

Beispiel (jedoch auf dieser Maschine, die wir nicht verwenden tsch):

$ scl --list 
devtoolset-4 
python27 
rh-java-common 
rh-perl524 
rh-python35 
$ which python 
/usr/bin/python 
$ python --version 
Python 2.6.6 
$ scl enable python27 bash 
$ which python 
/usr/bin/python 
$ python --version 
Python 2.6.6 
$ cat /opt/rh/python27/enable 
export PATH=/opt/rh/python27/root/usr/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/opt/rh/python27/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 
export MANPATH=/opt/rh/python27/root/usr/share/man:${MANPATH} 
# For systemtap 
export XDG_DATA_DIRS=/opt/rh/python27/root/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share} 
# For pkg-config 
export PKG_CONFIG_PATH=/opt/rh/python27/root/usr/lib64/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} 
$ echo $PATH 
/usr/share/gridengine/bin/lx26-amd64:/usr/lib64/qt-3.3/bin:/usr/NX/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/maker/bin:/opt/tools/:/opt/tools/amos-3.1.0:/opt/mpich-install/bin:/opt/pssc/bin:/opt/torque/bin:/opt/torque/sbin 
$ echo $LD_LIBRARY_PATH 
/opt/rh/python27/root/usr/lib64 
$ echo $MANPATH 
/opt/rh/python27/root/usr/share/man::/opt/mpich-install/share/man:/opt/mpich-install/share/man 

warum sind MANPATH und LD_LIBRARY_PATH sind richtig eingestellt, aber nicht PATH? Wenn ich tcsh verwende funktioniert es wie erwartet:

$ scl enable python27 tcsh 
$ which python 
/opt/rh/python27/root/usr/bin/python 
$ python --version 
Python 2.7.8 
+0

Vielleicht gibt es Änderungen an PATH in Ihrem lokalen '.bashrc' oder globalen'/etc/bashrc', die den Wert überschreiben, anstatt anzuhängen. Es gibt eine Reihe von nicht standardmäßigen Pfaden, die Konfigurationsänderungen vorschlagen. –

Antwort

0

Danke Dominic Sie waren auf etwas. Ich überprüfte ursprünglich ~/.bash* Dateien sowie /etc/bash* und /etc/profile, aber nach Ihrem Kommentar fand ich mehrere Skripte in /etc/profile.d/, die wir ausgeführt werden, und einer von ihnen legte den PATH explizit ohne anzufügen. Ich habe $PATH wieder da hinein und jetzt scl enable funktioniert wie erwartet!

Verwandte Themen