Mam w swoim .bash_profile
:
$ cat ~/.bash_profile
# Prompt
export PS1="\h:\W$ "
# Standard path
export PATH="/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:
/opt/local/bin:/opt/local/sbin"
# Android
export ANDROID_NDK_ROOT=/opt/android-ndk
export ANDROID_SDK_ROOT=/opt/android-sdk
export JAVA_HOME=`/usr/libexec/java_home`
export ANDROID_HOME="$HOME/.android"
export PATH="$PATH:$ANDROID_SDK_ROOT/tools/":"$ANDROID_SDK_ROOT/platform-tools/"
Ścieżkę zweryfikowałem za pomocą:
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/opt/local/bin:
/opt/local/sbin:/opt/android-sdk/tools/:/opt/android-sdk/platform-tools/
Moja lokalna wersja Emacsa jest już dostępna /usr/local/bin
. Właśnie go zbudowałem i zainstalowałem:
$ which emacs
/usr/local/bin/emacs
Kiedy uruchamiam Emacsa, otrzymuję ten od /usr/bin
:
$ emacs --version
GNU Emacs 22.1.1
...
$ /usr/bin/emacs --version
GNU Emacs 22.1.1
...
$ /usr/local/bin/emacs --version
GNU Emacs 24.5.1
...
Dlaczego mam problemy ze ścieżkami? Dlaczego OS X je ignoruje? Jak mogę użyć mojej kopii Emacsa bez podawania pełnej ścieżki?/usr/local/bin/emacs
Odpowiedzi:
Aby zmienić ŚCIEŻKĘ, aby
/usr/local/bin
wyprzedzić,/usr/bin
wykonaj następujące czynności:. ~/.bash_profile
PATH="/usr/local/bin:$PATH"
w bieżącej powłoceMożesz także chcieć wprowadzić zmiany,
/etc/paths
tak aby były/usr/local/bin
wymienione wcześniej/usr/bin
. Aby to zrobić, musisz sudo swojego edytora.Pamiętaj, że jeśli edytujesz,
/etc/paths
istnieje ryzyko, że aplikacje nieterminalne mogą pobrać twoją lokalnie zbudowaną wersję. Po prostu dla ciebie.Trochę więcej informacji na temat ścieżek.
/bin
(i/sbin
) były przeznaczone dla programów, które musiały znajdować się na małej/
partycji przed/usr
zamontowaniem większych itp. Obecnie służy głównie jako standardowa lokalizacja dla takich kluczowych programów/bin/sh
, chociaż pierwotne zamiary mogą być nadal istotne np. W przypadku instalacji na małych urządzeniach wbudowanych./sbin
, w odróżnieniu od/bin
, dotyczy programów do zarządzania systemem (zwykle nie używanych przez zwykłych użytkowników) potrzebnych przed/usr
zamontowaniem./usr/bin
jest przeznaczony dla normalnych programów użytkownika zarządzanych przez dystrybucję.Istnieje
/usr/sbin
taki sam związek z tym,/usr/bin
co/sbin
musi/bin
./usr/local/bin
jest dla zwykłych programów użytkownika nie zarządzanych przez menedżera pakietów dystrybucyjnych, np. pakietów skompilowanych lokalnie. Nie należy ich instalować,/usr/bin
ponieważ przyszłe aktualizacje dystrybucji mogą je modyfikować lub usuwać bez ostrzeżenia./usr/local/sbin
, Jak można się domyślić w tym momencie, to/usr/local/bin
jak/usr/sbin
się/usr/bin
.To źródło pomaga objaśnić standard hierarchii systemu plików na głębszym poziomie.
I możesz znaleźć ten artykuł na temat używania i nadużywania
/usr/local/bin
interesujących.źródło
/usr/local/bin
na początku PATH…/usr/local
.Odkryłem, że muszę ponownie uruchomić komputer, aby zmiany zostały wprowadzone. Wylogowanie / logowanie mogło mieć ten sam efekt, ale go nie próbowałem.
źródło
help hash
.