Hinzufügen eines benutzerdefinierten Pfads durch Aktualisieren von ~ / .profile, wenn dies nicht funktioniert

14

Ich habe meine ~ / .profile-Datei geändert, indem ich Folgendes hinzugefügt habe:

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

Ich melde mich dann ab und wieder an, aber der Pfad wird nicht zur Umgebungsvariablen $ PATH hinzugefügt. Ich checke im Terminal ein:

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

Bitte beraten

Bearbeiten

Ich habe sogar versucht:

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

Auch hier kein Glück.

Bearbeiten 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"

Hinzufügen zu ~ / .bachrc oder / etc / environment:

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

funktioniert, aber warum nicht ~ / .profile?

Roy Hinkley
quelle
Als Hinweis, in 13,04 und später können Sie installieren android-tools-adbund android-tools-fastbootvon Software Center direkt adb und Fast Boot zu bekommen. Es beantwortet Ihre Frage nicht genau, aber da ich erkannt habe, was Sie tun, dachte ich, ich würde einen Kommentar hinterlassen.
Ian Santopietro
Wenn Sie PATH für alle Benutzer möchten: Lesen Sie meine Antwort.
PeppeDAlterio
@PeppeDAlterio Ich möchte einen benutzerdefinierten Pfad hinzufügen, nicht verbieten.
Roy Hinkley
Meinen Sie einen anderen Pfad für jeden Benutzer?
PeppeDAlterio
Im Moment möchte ich nur, dass es für mich funktioniert.
Roy Hinkley

Antworten:

2

Wenn ich es richtig verstanden habe, möchten Sie den Wert des PATH-Envars dauerhaft ändern.
In Ubuntu ist der PATH-Envar in der /etc/environmentDatei definiert . Sie müssen also die PATH envar-Deklaration in dieser Datei ändern, nicht in der .profile!
Verwenden Sie diese Option nur, wenn Sie den PATH-Wert für jeden Benutzer ändern möchten!

PeppeDAlterio
quelle
Dies ist völlig nicht angegeben. Was ist, wenn sich mehr als ein Benutzer im System befindet?
Radu Rădeanu
Ja, Sie haben Recht ... Ich füge meiner Antwort eine "Warnung" hinzu. Vielen Dank
PeppeDAlterio
Ich mache. Das ist beabsichtigt.
Roy Hinkley
15

Verwenden Sie kein Leerzeichen davor oder danach, =wenn Sie einer Variablen in bash einen Wert zuweisen. Der richtige Weg ist:

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

Starten Sie Ihren Computer neu oder geben Sie Ihre .profileDatei mit dem folgenden Befehl ein, damit die Änderungen wirksam werden :

source ~/.profile

Wenn Sie den Pfad für alle Benutzer ändern möchten, fügen Sie diese Zeile in die /etc/profileDatei ein. Wieder ist ein Neustart erforderlich.

Radu Rădeanu
quelle
1
Leerzeichen und zitierte Pfade wurden wörtlich entfernt, wie Sie es hier getan haben, und dies im Echo immer noch nicht.
Roy Hinkley
Können Sie die Ausgabe von cat ~/.profileund einfügen echo $PATH?
Ian Santopietro
@AndroidAddict Sie benötigen einen Neustart oder Source Ihr ~/.profileIn-Terminal bis zum Neustart:source ~/.profile
Radu Rădeanu