Обычно я устанавливаю нестандартные версии программ под /usr/local
. Затем я настраиваю файл $HOME/.bash_profile
так, чтобы переменная $PATH
имела сначала /usr/local/bin
, а затем /usr/bin
и /bin
(которые фактически могут быть одним и тем же физическим каталогом в вашей системе).
$HOME/.bash_profile
:
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# PATH starts with...
PATH="/usr/local/bin"
# add $HOME/bin if it exists...
if [ -d "${HOME}/bin" ]; then
PATH="${PATH}:${HOME}/bin"
fi
# These should exist, add them as fall back....
PATH="${PATH}:/bin:/usr/bin:/sbin:/usr/sbin"
# Some custom locations last
if [ -d /usr/local/arm-elf/bin ]; then
PATH="${PATH}:/usr/local/arm-elf/bin"
fi
if [ -d /opt/local/bin ]; then
PATH="${PATH}:/opt/local/bin"
fi
Это приводит к тому, что все, что находится в /usr/local/bin
, становится значением по умолчанию, когда я использую интерактивную оболочку, и позволяет системным настройкам по умолчанию оставаться в силе в противном случае.