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.