2017-05-09 69 views
0

我試圖在CentOS 6.8服務器上使用軟件集合,但它不會正確設置環境變量PATH,如果傳遞的命令是「bash」,但「tcsh」起作用......(但是,我們並不在本機上使用的tcsh)'scl enable'未設置PATH與bash

例子:

$ 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 

那麼,爲什麼MANPATHLD_LIBRARY_PATH被設置正確,但不PATH?如果我使用tcsh,它可以像預期的那樣工作:

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

也許在您的本地'.bashrc'或全局'/ etc/bashrc'中修改PATH以覆蓋該值,而不是追加。列出了一些建議配置修改的非標準路徑。 –

回答

0

謝謝多米尼克你正在做些什麼。我最初檢查了~/.bash*文件以及/etc/bash*/etc/profile,但在您發表評論後,我發現/etc/profile.d/中有幾個腳本正在執行,其中一個腳本明確設置了PATH而沒有附加。我在那裏添加了$PATH,現在scl enable按預期工作!