Festlegen von Umgebungsvariablen für OS X
Was ist die richtige Art und Weise zu ändern von Umgebungsvariablen wie PATH), OS X?
Suchte ich auf Google ein wenig und fand drei verschiedene Dateien zu Bearbeiten:
- /etc/Pfade
- ~/.Profil
- ~/.tcshrc
Habe ich auch nicht einige dieser Dateien, und ich bin mir ziemlich sicher, dass .tcshrc ist falsch, da die OS X verwendet die bash jetzt. Wo sind diese Variablen, insbesondere der PFAD definiert?
Ich bin mit OS X v10.5 (Leopard).
env "switch.1.disabled=true" open -n /Applications/Eclipse.app/
zu starten GUI-Anwendung mit einem neuen system-Umgebung.- Siehe auch: stackoverflow.com/questions/25385934/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bruno ist auf der richtigen Spur. Ich habe getan, umfangreiche Forschungs-und wenn Sie möchten, Variablen festlegen, die verfügbar sind in allen GUI-Anwendungen, ist Ihre einzige option ist
/etc/launchd.conf
.Bitte beachten Sie, dass Umwelt.plist funktioniert nicht für Anwendungen gestartet über Spotlight. Dies ist dokumentiert durch Steve Sexton hier.
Öffnen Sie ein terminal-Eingabeaufforderung
Typ
sudo vi /etc/launchd.conf
(Anmerkung: diese Datei noch nicht existieren)Stellen Inhalte wie folgt in die Datei
Speichern Sie Ihre änderungen in vi und starten Sie Ihren Mac neu. Oder verwenden Sie die
grep
/xargs
Befehl, dargestellt in der code-Kommentar oben.Beweisen, dass Ihre Variablen arbeiten, indem Sie ein Terminalfenster öffnen und eingeben
export
haben und Sie sollten Ihren neuen Variablen. Wird es diese auch in IntelliJ IDEA und andere GUI-Anwendungen, die Sie starten über Spotlight.launchd.conf
ist eine Möglichkeit, muss aber ein reboot (neu starten, launchd). Wenn Sie möchten, um zu vermeiden, einen Neustart, siehe meine Antwort stackoverflow.com/questions/135688/...Terminal.app
,ssh
ist das problem - möglicherweise, weil Sie nicht verwenden die Launch Services auf dem remote-Computer. Zum umgehen dieses Problems führen Sie die folgenden einmal angeschlossen:eval "$(launchctl export)"
- siehe auch: apple.stackexchange.com/questions/87282/...grep
Befehl in der Antwort für ausstehende änderungen wirksam werden, noch bevor Sie einen Neustart: stellt sich heraus, dass (mindestens seit OS X 10.8.3)launchctl
Lesen kann Befehle vonstdin
- außer dass es kann nicht befassen sich mit Kommentar-Zeilen! So, das (relativ) einfachste und stabilste Weg, um zu laden ausstehenden änderungen ist wie folgt:egrep -v '^\s*#' "/etc/launchd.conf" | launchctl
., Wie die Umgebung für neue Prozesse gestartet von Spotlight (ohne reboot)
Können Sie die Umgebung von launchd (und durch Erweiterung, alles begann von Spotlight) mit
launchctl setenv
. Zum Beispiel, setzen Sie den Pfad:Oder wenn Sie Ihr Weg in
.bashrc
oder ähnliches, dann ist es gespiegelt in launchd:Es gibt keine Notwendigkeit, neu zu starten wenn Sie benötigen, um starten Sie eine app, wenn Sie wollen, es zu Holen, die veränderten Rahmenbedingungen.
Dazu gehören alle Muscheln, die bereits unter Terminal.app, obwohl, wenn Sie dort sind, können Sie die Umwelt mehr direkt, z.B. mit
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
für bash oder zsh., Wie die Aufbewahrung von änderungen nach einem Neustart
Zu änderungen beibehalten nach einem Neustart können Sie die environment-Variablen aus
/etc/launchd.conf
etwa so:launchd.conf
wird automatisch ausgeführt, wenn Sie neu starten.Wenn Sie wollen diese änderungen zu übernehmen, jetzt, verwenden Sie diesen Befehl zu verarbeiten
launchctl.conf
(danke @mklement für den Tipp!)Erfahren Sie mehr über
launchctl
und wie es lädtlaunchd.conf
mit dem Befehlman launchctl
.environment.plist
nicht tun.etc/launchd.conf
vor einem Neustart, würde das Konzept von @MatthewMcCullough Antwort:egrep "^setenv\ " /etc/launchd.conf | xargs -t -L 1 launchctl
.~/.launchd.conf
, aber es stellt sich heraus, dass es nicht funktioniert von OS X 10.8.3 (ich habe versucht, mehrere Varianten) - die Datei wird einfach ignoriert; ich habe reichte ein Fehler von Apple. Auch, es stellt sich heraus, dasslaunchctl
(ab mindestens OS X 10.8.3) Lesen kann Befehle vonstdin
- außer dass es kann nicht befassen sich mit Kommentar-Zeilen!. So, die (relativ) besten Weg zum laden von ausstehenden änderungen ist wie folgt:egrep -v '^\s*#' "/etc/launchd.conf" | launchctl
.Bis einschließlich OS X v10.7 (Lion) können Sie Sie in:
Finden Sie unter:
PFAD in das Terminal, sollten Sie in der Lage sein, in
.bash_profile
oder.profile
(Sie werden wahrscheinlich haben, um es zu schaffen obwohl)Für OS X v10.8 (Mountain Lion) und darüber hinaus Sie müssen verwenden Sie
launchd
undlaunchctl
.preferences.plist
war weniger als ideal mit OS X 10.5 seit damalspreferences.plist
war nicht zu Lesen, für gestartete Anwendungen durch Strahler, siehe Kommentar von Louis Matthäus-Antwort und email.esm.psu.edu/pipermail/macosx-emacs/2010-May/002113.html . Für OS X 10.6environment.plist
funktioniert wie es sollte.Lösung für beide Befehlszeile und GUI-Anwendungen von einer einzigen Quelle (funktioniert mit Mac OS X v10.10 (Yosemite) und Mac OS X v10.11 (El Capitan))
Nehmen wir an, Sie haben Definitionen von Umgebungsvariablen in Ihrem
~/.bash_profile
wie im folgenden Codeausschnitt gezeigt:Brauchen wir eine Start-Agent, die auf jede Anmeldung und jederzeit auf Nachfrage was Los ist, laden Sie diese Variablen in die user-session. Wir brauchen auch ein shell-Skript zu analysieren, Definitionen und bauen die notwendigen Befehle werden ausgeführt, indem der agent.
Erstellen Sie eine Datei mit
plist
- suffix (z.B. namensosx-env-sync.plist
) in~/Library/LaunchAgents/
- Verzeichnis mit folgendem Inhalt:-l
parameter ist hier kritisch; es ist notwendig für das ausführen des shell-Skript mit login-shell, so dass~/.bash_profile
ist sourced in Erster Linie, bevor dieses Skript ausgeführt wird.Nun das shell-Skript. Erstellen Sie auf
~/.osx-env-sync.sh
mit folgendem Inhalt:Stellen Sie sicher, dass das shell-script ausführbar ist:
Laden Sie nun die Start-agent für die aktuelle Sitzung:
(Re)Starten Sie eine GUI-Anwendung und stellen Sie sicher, dass Sie können die Umgebungsvariablen Lesen.
Die Einrichtung ist persistent. Sie wird es überleben wird neu gestartet, und relogins.
Nach der Erstinstallation (die Sie gerade getan haben), wenn Sie möchten, zu reflektieren änderungen in Ihrem
~/.bash_profile
zu Ihrer ganzen Umgebung wieder, erneutes ausführen deslaunchctl load ...
Befehl nicht ausführen, was Sie wollen; stattdessen erhalten Sie eine Warnung wie die folgende:<$HOME>/Library/LaunchAgents/osx-env-sync.plist: Operation already in progress
Um neu zu laden Sie Ihre Umgebungsvariablen ohne Umweg über den logout - /login-Prozess, tun Sie den folgenden:
Schließlich stellen Sie sicher, dass Sie relaunch Ihrer bereits Laufenden Anwendungen (einschließlich Terminal.app), um Sie über die änderungen.
Hab ich auch schob Sie den code und Erklärungen hier, um ein GitHub-Projekt: osx-env-sync.
Ich hoffe das wird die ultimative Lösung, zumindest für die neuesten Versionen von OS X (Yosemite & El Capitan).
$PATH
verwendenlaunchctl config user path <your-path>
statt.Tun:
Kann die Datei nicht vorhanden ist (wenn nicht, können Sie einfach erstellen Sie Sie).
Geben Sie diese und speichern Sie die Datei:
Laufen
export
ist das, was ich wollte vorschlagen, da BASH nicht unterstützensetenv
Gibt es im wesentlichen zwei Probleme zu lösen, die beim Umgang mit
Umwelt-Variablen, die in OS X. Die erste ist, wenn Programme aufrufen
von Spotlight (das Lupensymbol auf der rechten Seite der Mac
Menü/status-bar) und die zweite beim Aufruf von Programmen aus dem Dock.
Aufrufen von Programmen aus einem Terminal-Programm/utility ist trivial
denn es liest die Umgebung aus der standard-shell-Standorten
(
~/.profile
,~/.bash_profile
,~/.bashrc
usw.)Beim Aufruf von Programmen aus dem Dock verwenden
~/.MacOSX/environment.plist
wo die
<dict>
- element enthält eine Sequenz von<key>KEY</key><string>theValue</string>
Elemente.Beim aufrufen der Programme mit Spotlight, sicherzustellen, dass launchd wurde
setup mit alle Schlüssel/Wert-Einstellungen, die Sie benötigen.
Lösen beide Probleme gleichzeitig, ich benutze ein login-Element (über die
"System Preferences" - tool) auf meinem User-Konto. Das login-Element ist ein bash-Skript, das
ruft ein Emacs-lisp-Funktion kann man zwar natürlich auch Ihre
Lieblings-scripting-tool, um das gleiche erreichen. Dieser Ansatz
den Vorteil hat, dass es funktioniert zu jeder Zeit und erfordert nicht ein
Neustart, d.h. man kann Bearbeiten
~/.profile
, führen Sie das login-Element in einem-shell und die änderungen sichtbar für die neu gestarteten Programme, entweder aus dem Dock oder Spotlight.Details:
Login item:
~/bin/macosx-startup
Emacs-lisp-Funktion:
~/lib/emacs/elisp/macosx/envionment-support.el
HINWEIS: Diese Lösung ist ein amalgam von denen kommen, bevor ich Hinzugefügt mine, vor allem, dass die angebotenen von Matt Curtis, aber ich habe bewusst versucht, meinen
~/.bash_profile
Inhalte unabhängig von der Plattform und setzen Sie die Einstellung derlaunchd
Umfeld (ein Mac nur die Anlage) in einem separaten Skript.Anderen, kostenlos, opensource, Mac OS X v10.8 (Mountain Lion) Einstellungen/Umgebung.plist-Lösung ist EnvPane.
EnvPane ist source code verfügbar auf GitHub. EnvPane wie es aussieht hat vergleichbare features zu RCEnvironment, wie es scheint, können aktualisieren Sie Ihre gespeicherten Variablen sofort, d.h. ohne die Notwendigkeit für einen Neustart und login, was zu begrüßen ist.
Wie gesagt vom Entwickler:
Disclaimer: ich bin in keiner Weise im Zusammenhang der Entwickler oder sein/Ihr Projekt.
P. S. ich mag den Namen (klingt wie '- Enden Schmerzen").
Auf Mountain Lion alle
/etc/paths
und/etc/launchd.conf
Bearbeiten macht keinen Effekt!Apple-Entwickler-Foren sagen:
Also habe ich direkt bearbeitet die Anwendung
Info.plist
(klicken Sie rechts auf "AppName.app" (in diesem Fall SourceTree) und dann "Show package contents
").Und ich habe einen neuen Schlüssel/dict paar genannt:
(siehe: LaunchServicesKeys Dokumentation bei Apple)
Nun die Anwendung (in meinem Fall Sourcetree) verwendet den vorgegebenen Pfad und arbeitet mit Git 1.9.3 🙂
PS: natürlich müssen Sie passen Sie die Pfadangabe an Ihre spezifischen Pfad braucht.
Während die Antworten hier sind nicht "falsch", werde ich weitere hinzufügen: machen Sie nie die environment-variable änderungen in OS X, die Auswirkungen auf "alle Prozesse", oder sogar außerhalb der Schale, die für alle Prozesse laufen interaktiv durch einen Benutzer.
Meiner Erfahrung, Globale änderungen an Umgebungsvariablen wie PATH für alle Prozesse sind auch mehr wahrscheinlich zu brechen, Dinge, die unter OS X als unter Windows. Grund dafür ist, viele OS X-Programme und andere software (auch, vielleicht vor allem, dass Komponenten des Betriebssystems selbst) Vertrauen auf UNIX-Kommandozeilen-tools unter der Haube, und Sie übernehmen das Verhalten der Versionen dieser tools, die mit dem system, und nicht unbedingt absolute Pfade verwenden, wenn dies zu tun (ähnliche Kommentare gelten für dynamisch geladene Bibliotheken und DYLD_* environment-Variablen). Denken Sie zum Beispiel, dass die am höchsten bewerteten Antworten zu verschiedenen Stack-Überlauf Fragen zum ersetzen von OS X bereitgestellte Versionen von Interpreten wie Python und Ruby in der Regel sagen "Tu das nicht."
OS X ist wirklich nicht anders als andere UNIX-ähnliche Betriebssysteme (z.B. Linux, FreeBSD und Solaris) in diesem Zusammenhang; die wahrscheinlichste Grund, warum Apple nicht bieten eine einfache Möglichkeit, dies zu tun ist, weil es Dinge zerbricht. Soweit Windows ist nicht so anfällig für diese Probleme, es liegt an zwei Dingen: (1) Windows-software neigt nicht zu verlassen, auf Befehl-Linie Werkzeuge, um das Ausmaß, die UNIX-software nicht, und (2) Microsoft hat eine solche umfangreiche Geschichte von "DLL-Hölle" und Sicherheit Probleme, die durch änderungen, die Auswirkungen auf alle Prozesse, die Sie geändert haben, auch das Verhalten der dynamischen Belastung in neueren Windows-Versionen zur Begrenzung der Auswirkungen der "Globale" Konfiguration-Optionen wie WEG.
"Lame" ist oder nicht, haben Sie eine weit stabilere system, wenn Sie das einschränken, derartige änderungen auch an kleineren Teleskopen.
Update (2017-08-04)
Als (zumindest) macOS 10.12.6 (Sierra) diese Methode scheint nicht mehr zu funktionieren für den Apache httpd (für beide die
system
und dieuser
Möglichkeitlaunchctl config
). Andere Programme scheinen nicht betroffen zu sein. Es ist denkbar, dass dies einen Fehler in der httpd.Ursprüngliche Antwort
Dies betrifft OS X 10.10+ (10.11+ insbesondere aufgrund wurzellos-Modus, wo
/usr/bin
ist nicht mehr beschreibbar ist).Ich gelesen habe in mehreren Orte, die mit
launchctl setenv PATH <new path>
um diePATH
variable nicht funktioniert durch einen bug in OS X (das scheint wahr aus eigener Erfahrung). Ich fand, dass es eine andere Möglichkeit diePATH
festgelegt werden können, für Anwendungen nicht starten von der shell:Diese option ist dokumentiert in dem launchctl-Mann-Seite:
Habe ich bestätigt, diese arbeiten mit einer GUI-Anwendung gestartet Finder (die verwendet
getenv
zu bekommen PFAD).Beachten Sie, dass Sie nur einmal gemacht werden und die änderung wird durch anhaltende Neustarts.
sudo launchctl procinfo <gui-pid>
zeigt neu eingestelltePATH
Umgebung. Abersudo launchctl config user path <new path>
eigentlich für alle Benutzer festgelegt... (bestätigt durch das hinzufügen neuer Benutzer & mit Sublime Text ist python-Konsole)sudo launchctl config user path
, dass dies geschieht (was Sie zu sein scheinen vorausgesetzt?).PATH
variable ist eine Ausnahme.Manchmal alle vorherigen Antworten einfach nicht funktionieren. Wenn Sie wollen, haben Zugriff auf eine system-variable (wie
M2_HOME
) in Eclipse oder IntelliJ IDEA ist die einzige Sache, die funktioniert für mich in diesem Fall:Ersten (Schritt 1) Bearbeiten
/etc/launchd.conf
enthalten eine Zeile wie diese: "setenv VAR Wert" und dann (Schritt 2) starten.Einfach ändern .bash_profile wird nicht funktionieren, weil OS X die Anwendungen nicht gestartet, wie in anderen Unix ' es; Sie nicht, Erben die Eltern-shell-Variablen. Alle anderen Modifikationen funktionieren nicht für einen Grund, dass ist mir unbekannt. Vielleicht kann jemand anders klären über diese.
Nachdem der Jagd nach dem Umgebungsvariablen-Einstellungen" und entdeckt, dass der link kaputt ist und eine Suche auf der Apple-Website deutet an, Sie habe vergessen... ich begann wieder auf der Spur des schwer fassbaren launchd-Prozess.
Auf meinem system (Mac OS X 10.6.8) es scheint, dass die definierten Variablen in der Umgebung.plist sind wird zuverlässig exportiert gestarteten Anwendungen aus "Spotlight" (via launchd). Mein Problem ist, dass diese vars werden nicht exportiert wird, um neue bash-sessions in Terminal. I. e. Ich habe das umgekehrte problem wie hier dargestellt.
HINWEIS: Umwelt.plist sieht wie JSON, nicht XML, wie zuvor beschrieben
Ich war in der Lage, Scheinwerfer-apps zu sehen, die vars von editieren von ~/MacOSX/environment.plist und
Ich war in der Lage zu zwingen, die gleichen vars in eine neue Terminal-Sitzung, indem Sie den folgenden meinem .Profil-Datei:
man launchd
,man launchctl
, undman launchd.conf
in einem terminal-Fenster. Froh, dass Apple hält der Mann den Seiten aktuell, auch wenn der Mac Developer Library hinkt ein bisschen.Alle von der Bash startup files --
~/.bashrc
,~/.bash_profile
,~/.profile
. Es gibt auch eine Art seltsame Datei namens~/.MacOSX/environment.plist
für Umwelt-Variablen, die in GUI-Anwendungen.Viel, wie die Antwort Matt Curtis gab, setzte ich Umgebungsvariablen via launchctl, aber ich wickeln Sie es in einer Funktion als "export" bezeichnet, so dass, wenn ich den export eine variable wie normal meine .bash_profile, es ist auch durch launchctl. Hier ist was ich tun:
Meine .bash_profile besteht nur aus einer Zeile, (Dies ist nur eine persönliche Vorliebe.)
Meine .bashrc ist diese:
Oben wird die überlastung der Bash-builtin "export" und exportieren alles normal (Sie werden bemerken, dass ich den export mit "export" mit!!!), dann richtig gesetzt, die Sie für die OS-X-app-Umgebungen über launchctl, ob Sie eine der folgenden Optionen verwenden:
Diese Weise habe ich nicht senden jede variable launchctl jedes mal, und ich kann nur meine .bash_profile /.bashrc einrichten, wie ich will. Öffnen Sie ein terminal-Fenster, überprüfen Sie die Umgebungsvariablen, die Sie interessiert sind, mit
launchctl getenv myVar
ändern Sie etwas in Ihrem .bash_profile/.bashrc, schließen Sie das terminal-Fenster und öffnen Sie es erneut, prüfen Sie die variable wieder mit launchctl, und voilá, es hat sich geändert.Wieder, wie die anderen Lösungen für die post-Mountain Lion Welt, für jedes neue environment-Variablen werden verfügbar für apps, die Sie brauchen, um zu starten oder neu starten nach der änderung.
Hier ist eine sehr einfache Möglichkeit, das zu tun, was Sie wollen. In meinem Fall war es immer Gradle zu arbeiten (für Android Studio).
Führen Sie den folgenden Befehl ein:
sudo nano /etc/paths
odersudo vim /etc/paths
Geben Sie Ihr Passwort, wenn Sie dazu aufgefordert werden.
Öffnen Sie ein neues terminal-Fenster und geben Sie ein:
echo $PATH
Sollten Sie den neuen Pfad an das Ende des Weges.
Habe ich diese details aus diesem Beitrag:
Um den PFAD hinzuzufügen, der auf Mac OS X 10.8 Mountain Lion und up
Ich denke, die OP ist auf der Suche nach eine einfache, Windows-ähnliche Lösung.
Hier gehen Sie:
http://www.apple.com/downloads/macosx/system_disk_utilities/environmentvariablepreferencepane.html
Werden knapp und klar über das, was jede Datei soll für
~/.profile
bezogen ist jedes mal Terminal.app gestartet wird~/.bashrc
ist, wo "traditionell" alle export-Anweisungen für die Bash-Umgebung gesetzt werden/etc/paths
ist die wichtigste Datei in Mac OS enthält die Liste der Standard-Pfade für die Erstellung der PFAD-Umgebungsvariable für alle Benutzer/etc/paths.d/
Dateien enthält, können Sie zusätzliche SuchpfadeNicht-terminal-Programme, die nicht Erben der systemweiten PATH und MANPATH-Variablen, dass Ihr terminal nicht! Setzen Umgebung für alle Prozesse gestartet, die von einem bestimmten Benutzer, so dass Umgebungsvariablen zur Verfügung, um Mac-OS-X-GUI-Anwendungen, müssen diese Variablen definiert werden, die in Ihrem
~/.MacOSX/environment.plist
(Apple Technical Q&A QA1067)Den folgenden Befehl verwenden, um synchronisieren Sie Ihre
environment.plist
mit/etc/paths
:Den
$PATH
Variablen unterliegt auchpath_helper
, die wiederum macht Gebrauch von der/etc/paths
- Datei und Dateien im/etc/paths.d
.Eine genauere Beschreibung finden Sie in PFAD und andere Umwelt-Probleme in Leopard (2008-11)
/etc/launchd.conf ist nicht in OS X v10.10 (Yosemite), OS X v10.11 (El Capitan), macOS v10.12 (Sierra), oder macOS v10.13 (High Sierra).
Aus der
launchctl
Mann Seite:Diese beschriebene Methode Fragen Sie Verschiedene beantworten bei mir funktioniert (nach einem Neustart): gestartete Anwendungen aus dem Dock, oder über Spotlight Erben Umgebungsvariablen, die ich in
~/Library/LaunchAgents/my.startup.plist
. (In meinem Fall, ich brauchte, umLANG
zuen_US.UTF-8
für eine Sublime Text plugin.)Es ist ganz einfach:
Editieren Sie ~/.Profil und setzen Sie Ihre Variablen wie folgt
In Datei setzen:
Speichern ( :wq )
Starten Sie das terminal Beenden und wieder öffnen)
Stellen Sie sicher, dass alles in Ordnung sein:
Für einen einzelnen Benutzer, änderung, Benutzung
~/.profile
von denen, die Sie aufgelistet. Der folgende link erläutert, Wann die einzelnen Dateien werden gelesen von Bash.http://telin.ugent.be/~slippens/drupal/bashrc_and_others
Wenn Sie möchten, setzen Sie die Umgebungsvariable für gui-Anwendungen müssen Sie die ~/.MacOSX/environment.plist-Datei
Gut, ich bin nicht sicher über die
/etc/paths
und~/.MacOSX/environment.plist
- Dateien. Diejenigen, die neu sind.Aber mit Bash, sollten Sie wissen, dass
.bashrc
ausgeführt wird, mit jeder neuen shell-Aufrufund
.bash_profile
wird nur einmal ausgeführt beim Start.Ich weiß nicht, wie oft ist dies mit Mac OS X. ich denke, die Unterscheidung ist kaputt, mit dem Fenster-system starten alles.
Ich persönlich beseitigen die Verwirrung, die durch die Schaffung einer
.bashrc
Datei mit alles was ich brauche, und dann tun:Eine Sache zu beachten, in Ergänzung zu den Ansätzen vorgeschlagen wird, dass in OS X 10.5 (Leopard) mindestens die Variablen, die im
launchd.conf
zusammengeführt werden mit den Einstellungen im.profile
. Ich nehme an, dies wird wahrscheinlich gültig sein, damit die Einstellungen in~/.MacOSX/environment.plist
auch, aber ich habe noch nicht überprüft.Einrichten Ihrer PATH-Umgebungsvariablen auf Mac OS
Öffnen Sie das Terminal-Programm (dies ist in Ihrem/Programme /Dienstprogramme /Ordner standardmäßig). Führen Sie den folgenden Befehl
Dies wird öffnen Sie die Datei in Ihrem Standard-text-editor.
Für Android SDK als Beispiel:
Müssen Sie den Pfad zum Android-SDK-platform-tools und tools-Verzeichnis. In meinem Beispiel verwende ich "/Entwicklung/android-sdk-macosx", wie das Verzeichnis der SDK ist installiert. Fügen Sie die folgende Zeile:
Speichern Sie die Datei und beenden Sie den text-editor. Führen Sie Ihr .bash_profile aktualisieren Ihr PFAD:
Nun jedes mal, wenn Sie öffnen Sie das Terminal-Programm Ihr WEG, zählen Sie die Android SDK.
Gibt es zwei Arten von shells, die hier im Spiel.
Es ist wichtig, hier zu verstehen, dass mit Bash-Datei
.bashrc
nur gelesen, aber von einer shell, die sowohl interaktive als auch nicht-login zur Verfügung, und Sie werden feststellen, dass die Menschen oft laden.bashrc
im.bash_profile
um diese Einschränkung zu überwinden.Nun, dass Sie die grundlegende Verständnis, lassen Sie uns nun, wie würde ich Rat Sie, um es einzurichten.
.bash_file:
Login-Shells
Die shell führt die Kommandos in der Datei
/etc/profile
. Ein Anwender mit root-Rechte einrichten können, diese Datei zu etablieren, die systemweite Standard-Eigenschaften für Benutzer mit Bash.Neben der shell sieht für
~/.bash_profile
,~/.bash_login
, und~/.profile
(~/ist kurzer hand für Ihr home-Verzeichnis), in dieser Reihenfolge der Ausführung der Befehle in der ersten dieser Dateien, die es findet. Sie können Befehle in eine dieser Dateien zu überschreiben die Standardwerte gesetzt, die in/etc/profile
. Ein shell-Ausführung auf einem virtuellen terminal keine Befehle in diesen Dateien.Wenn Sie sich Abmelden, bash führt Befehle in der
~/.bash_logout
- Datei. Diese Datei enthält oft Befehle, die Aufräumarbeiten nach einer Sitzung, wie jene, die temporäre Dateien entfernen.Interaktive Nonlogin Schalen
Wenn auch nicht genannt durch die bash direkt, viele
~/.bashrc
- Dateien aufrufen/etc/bashrc
. Dieses setup ermöglicht einem Benutzer das arbeiten mit root-rechten zu etablieren, die systemweite Standard-Eigenschaften für nonlogin bash-shells.Einer interaktiven nonlogin-shell führt die Kommandos in der
~/.bashrc
- Datei. In der Regel wird ein startup-file für eine login-shell, wie.bash_profile
, läuft diese Datei, damit sowohl login und nonlogin Muscheln führen Sie die Befehle in.bashrc
., Da Befehle in
.bashrc
ausgeführt werden kann viele Male, und da Unterschalen Erben exportierten Variablen, ist es eine gute Idee, um Befehle hinzufügen, dass die vorhandenen Variablen in die.bash_profile
Datei.Alle die Magie auf iOS geht nur mit
source
mit der Datei, wo Sie exportieren Sie Ihre Umgebungsvariablen.Zum Beispiel:
Können Sie eine Datei wie folgt:
Speichern Sie diese Datei als
bimbom.env
, und tunsource ./bimbom.ev
.Voilá, du hast deine Umgebungsvariablen.
Überprüfen Sie mit:
Nur ist das wirklich einfach und schnell. Erstellen Sie zuerst eine ~/.bash_profile vom terminal:
dann
hinzufügen
speichern documement und Sie sind fertig.
Bash, versuchen Sie, Ihre Umgebungsvariablen in die Datei
/etc/profile
zugänglich zu machen für alle Benutzer. Keine Notwendigkeit, neu zu starten, starten Sie einfach eine neue Terminal-Sitzung.Ist es ganz einfach. Bearbeiten Sie die Datei
.profile
(vi, nano, Sublime Text oder anderen text-editor) Datei. Sie finden es an der~/
- Verzeichnis (Benutzer-Verzeichnis) und stellen wie diese:Beispiel mit Java home:
Speichern und zurück zum terminal.
Können Sie laden es mit:
Oder schließen und öffnen Sie Ihr terminal-Fenster.