Dodanie niestandardowej ścieżki poprzez aktualizację ~ / .profile, nie działa


14

Zmieniłem plik ~ / .profile, dodając następujące elementy:

PATH="/user/share/android-sdk-linux/tools:$PATH"

Następnie wylogowuję się i loguję ponownie, ale ścieżka nie jest dodawana do zmiennej środowiskowej $ PATH. Sprawdzam w terminalu:

echo $PATH
/usr/share/android-sdk-linux/tools:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jdk1.7.0_17/bin

Proszę doradź

Edytować

Próbowałem nawet:

PATH=$PATH:/usr/share/android-sdk-linux/tools
EXPORT PATH

Tu też nie ma szczęścia.

Edytuj 2

~ / .profile:

 # ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set path to android
# PATH = $PATH:/usr/share/android-sdk-linux/tools
# EXPORT PATH

PATH="/usr/share/android-sdk-linux/tools:$PATH"

Dodawanie do środowiska ~ / .bachrc lub / etc /:

PATH="/usr/share/android-sdk-linux/tools:$PATH"

działa, ale dlaczego nie ~ / .profile?


Uwaga: w 13.04 i późniejszych wersjach można zainstalować android-tools-adbi android-tools-fastbootbezpośrednio z Software Center, aby uzyskać adb i fastboot. Nie odpowiada to dokładnie na twoje pytanie, ale skoro rozpoznałem, co robisz, pomyślałem, że zostawię komentarz.
Ian Santopietro

Jeśli chcesz PATH dla wszystkich użytkowników: przeczytaj moją odpowiedź.
PeppeDAlterio

@PeppeDAlterio Chcę dodać niestandardową ścieżkę, a nie przechwytywać.
Roy Hinkley

Czy masz na myśli inną ŚCIEŻKĘ dla każdego użytkownika?
PeppeDAlterio

Teraz chcę, żeby to dla mnie zadziałało.
Roy Hinkley

Odpowiedzi:


2

Jeśli dobrze zrozumiałem, chcesz trwale zmienić wartość zmiennej PATH.
W Ubuntu envar PATH jest zdefiniowany w /etc/environmentpliku. Musisz więc zmodyfikować deklarację envar PATH w tym pliku, a nie w pliku .profile!
Użyj tego tylko, jeśli chcesz zmienić wartość ŚCIEŻKI dla każdego użytkownika!


Nie jest to całkowicie wskazane. Co jeśli w systemie jest więcej niż jeden użytkownik?
Radu Rădeanu

Tak, masz rację ... Dodam „ostrzeżenie” do mojej odpowiedzi. Dziękuję
PeppeDAlterio

Ja robię. To celowe.
Roy Hinkley

15

Nie używaj spacji przed ani po =przypisaniu wartości zmiennej w bash. Właściwy sposób to:

PATH="/user/share/android-sdk-linux/tools:$PATH"

Aby zmiany weszły w życie, uruchom ponownie komputer lub .profileprześlij plik za pomocą następującego polecenia:

source ~/.profile

Jeśli chcesz zmienić ścieżkę dla wszystkich użytkowników, dodaj tę linię w /etc/profilepliku. Ponownie wymagane jest ponowne uruchomienie.


1
Usunęliśmy spacje i dosłownie cytowaną ścieżkę, jak masz tutaj i nadal nie jest to w echu.
Roy Hinkley

Czy potrafisz wkleić dane wyjściowe cat ~/.profilei echo $PATH?
Ian Santopietro

@AndroidAddict Potrzebujesz restartu lub źródła ~/.profilew terminalu do restartu:source ~/.profile
Radu Rădeanu
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.