Wenn jemand sagt "Bearbeiten Sie Ihre .plist-Datei" oder "Ihr .profile" oder ".bash_profile" usw., verwirrt mich das nur. Ich habe keine Ahnung, wo sich diese Dateien befinden, wie ich sie erstellen muss, wenn ich das tun muss usw. und warum es so viele verschiedene zu geben scheint (warum? Tun sie verschiedene Dinge?)
Könnte jemand bitte einem früheren Windows-Benutzer sehr geduldig erklären (der verzweifelt mit der angenehmen, wenn auch anfangs etwas verwirrenden OS X-Welt vertraut werden möchte), wie dies Schritt für Schritt zu tun ist?
Ich muss die Variablen sowohl für GUI-Anwendungen als auch für Befehlszeilenanwendungen festlegen, und im Moment ist es für ein Ant-Skript, das die Variablen benötigt, aber es wird höchstwahrscheinlich auch andere Anforderungen geben.
Bitte beachten Sie, dass ich auch Lion habe, da viele der Antworten, die Sie beim Googeln erhalten, für Lion veraltet zu sein scheinen ...
Beachten Sie auch, dass ich praktisch keine Erfahrung mit dem Terminal habe. Ich bin bereit zu lernen, aber bitte erklären Sie für einen Anfänger ...
quelle
Antworten:
Zunächst ist zu erkennen, dass OS X auf Unix basiert. Hier kommt das .bash_profile ins Spiel. Wenn Sie die Terminal-App in OS X starten, erhalten Sie standardmäßig eine Bash-Shell. Die Bash-Shell stammt von Unix und führt beim Laden das Skript .bash_profile aus. Sie können dieses Skript für Ihren Benutzer ändern, um Ihre Einstellungen zu ändern. Diese Datei befindet sich unter:
Update für Mavericks
OS X Mavericks verwendet die Datei environment.plist nicht - zumindest nicht für OS X-Windows-Anwendungen. Sie können die Startkonfiguration für Fensteranwendungen verwenden. Das .bash_profile wird weiterhin unterstützt, da dies Teil der in Terminal verwendeten Bash-Shell ist.
Nur Löwe und Berglöwe
OS X-Fensteranwendungen empfangen Umgebungsvariablen aus der Datei environment.plist. Dies ist wahrscheinlich das, was Sie mit der Datei ".plist" meinen. Diese Datei befindet sich unter:
Wenn Sie eine Änderung an Ihrer Datei environment.plist vornehmen, werden für OS X-Windows-Anwendungen, einschließlich der Terminal-App, diese Umgebungsvariablen festgelegt. Jede Umgebungsvariable, die Sie in Ihrem .bash_profile festlegen, wirkt sich nur auf Ihre Bash-Shells aus.
Im Allgemeinen setze ich nur Variablen in meiner .bash_profile-Datei und ändere nicht die .plist-Datei (oder die launchd-Datei auf Mavericks). Die meisten OS X-Fensteranwendungen benötigen keine benutzerdefinierte Umgebung. Nur wenn eine Anwendung tatsächlich eine bestimmte Umgebungsvariable benötigt, ändere ich die Datei environment.plist (oder die Datei launchd auf Mavericks).
Es hört sich so an, als ob Sie die Datei environment.plist und nicht das .bash_profile ändern möchten.
Eine letzte Sache, wenn Sie nach diesen Dateien suchen, werden Sie sie wahrscheinlich nicht finden. Wenn ich mich richtig erinnere, waren sie bei meiner Erstinstallation von Lion nicht vorhanden.
Bearbeiten: Hier finden Sie einige Anweisungen zum Erstellen einer Plist-Datei.
Um die Datei zu bearbeiten, können Sie bei gedrückter Ctrl-Taste auf ein Menü klicken und Zeile hinzufügen auswählen. Sie können dann ein Schlüsselwertpaar hinzufügen. Bei Umgebungsvariablen ist der Schlüssel der Name der Umgebungsvariablen und der Wert der tatsächliche Wert für diese Umgebungsvariable.
Sobald die Plist-Datei erstellt wurde, können Sie sie mit Xcode öffnen, um sie jederzeit zu ändern.
quelle
~/.bashrc
.~/.bashrc
Die Datei wird jedes Mal ausgeführt, wenn Sie eine neue Bash-Shell ohne Anmeldung wie xterm / aterm öffnen. Sie wird~/.bash_profile
nur mit Anmeldeshells ausgeführt, dh wenn Sie sich zum ersten Mal beim System anmelden.Ihre
.profile
oder.bash_profile
sind einfach Dateien, die in Ihrem "Home" -Ordner vorhanden sind. Wenn Sie ein Finder-Fenster öffnen und im Bereich "Favoriten" auf Ihren Kontonamen klicken, werden diese nicht angezeigt. Wenn Sie ein Terminalfenster öffnen und eingeben,ls
um Dateien aufzulisten, werden sie immer noch nicht angezeigt. Sie können sie jedochls -a
im Terminal finden. Wenn Sie Ihren bevorzugten Texteditor öffnen (z. B. TextEdit, da er mit OS X geliefert wird) und Datei-> Öffnen ausführen und dann Command+ Shift+ drücken .und auf Ihren Kontonamen (Basisordner) klicken, werden diese ebenfalls angezeigt . Wenn Sie sie nicht sehen, können Sie sie in Ihrem bevorzugten Texteditor erstellen.Das Hinzufügen von Umgebungsvariablen ist jetzt relativ einfach und konzeptionell bemerkenswert ähnlich wie bei Windows. Fügen Sie in Ihrer
.profile
Datei den Variablennamen und seinen Wert wie folgt hinzu:usw.
Wenn Sie Ihre Variable "PATH" ändern, müssen Sie den Standardpfad des Systems angeben, der bereits für Sie festgelegt wurde:
Hier ist der skurrile Teil: Sie können entweder ein neues Terminalfenster öffnen, damit die neuen Variablen wirksam werden, oder Sie müssen die Datei eingeben
.profile
oder neu.bash_profile
laden und den Inhalt auf die Umgebung Ihres aktuellen Terminals anwenden.Sie können überprüfen, ob Ihre Änderungen wirksam wurden, indem Sie den Befehl "set" in Ihrem Terminal verwenden. Geben Sie einfach ein
set
(oderset | more
wenn Sie eine paginierte Liste bevorzugen) und stellen Sie sicher, dass das, was Sie der Datei hinzugefügt haben, vorhanden ist.Das Hinzufügen von Umgebungsvariablen zu GUI-Apps ist normalerweise nicht erforderlich. Ich würde gerne mehr darüber erfahren, was Sie speziell tun möchten, um eine bessere Antwort darauf zu erhalten.
quelle
. .profile
, um sie zu laden..profile
. Ich habe gerade einen Blick auf eine Maschine geworfen, die ich kürzlich gekauft habe, und sie scheint.profile
heutzutage zu benutzen und nicht.bash_profile
Hier finden Sie weitere Informationen speziell zur PATH-Variablen in Lion OS 10.7.x:
Wenn Sie den PATH global festlegen müssen, wird der PATH vom System in der folgenden Reihenfolge erstellt:
/private/etc/paths
, einen Pfad pro Zeile/private/etc/paths.d
. Jede Datei in diesem Ordner kann mehrere Pfade enthalten, einen Pfad pro Zeile. Die Ladereihenfolge wird zuerst durch den Dateinamen und dann durch die Reihenfolge der Zeilen in der Datei bestimmt.setenv PATH
Anweisung in/private/etc/launchd.conf
, die diesen Pfad an den bereits in # 1 und # 2 erstellten Pfad anfügt (Sie dürfen $ PATH nicht verwenden, um auf die bisher erstellte PATH-Variable zu verweisen). Das Festlegen des PFADS hier ist jedoch angesichts der beiden anderen Optionen völlig unnötig, obwohl hier andere globale Umgebungsvariablen für alle Benutzer festgelegt werden können.Diese Pfade und Variablen werden von allen Benutzern und Anwendungen geerbt, sodass sie wirklich global sind. Durch Abmelden und Anmelden werden diese Pfade nicht zurückgesetzt. Sie werden für das System erstellt und erstellt, bevor einem Benutzer die Möglichkeit gegeben wird, sich anzumelden. Änderungen an diesen erfordern daher einen Systemneustart, um wirksam zu werden.
Übrigens, eine Neuinstallation von OS 10.7.x Lion hat keine
environment.plist
, die ich finden kann, daher funktioniert sie möglicherweise, ist aber möglicherweise auch veraltet.quelle
paths.d
sich vonpaths
? Überschreibt der erstere auch den letzteren?Es wird der aktuelle Pfadwert gedruckt
Dann mach
vim ~/.bash_profile
und schreibHier hängen Sie an den alten Pfad an, behalten also den alten Pfad bei und fügen Ihren neuen Pfad hinzu
dann mach
Dadurch wird es ausgeführt und der Pfad hinzugefügt
dann nochmal überprüfen mit
quelle
Leider löste keine dieser Antworten das spezifische Problem, das ich hatte.
Hier ist eine einfache Lösung, ohne sich damit herumschlagen zu müssen
bash
. In meinem Fall ging esgradle
an die Arbeit (zAndroid Studio
).Übrigens beziehen sich diese Schritte auf OSX (Mountain Lion 10.8.5)
Führen Sie den folgenden Befehl aus:
sudo nano /etc/paths
(odersudo vim /etc/paths
für vim)Öffnen Sie ein neues Terminalfenster und geben Sie Folgendes ein:
echo $PATH
Sie sollten den neuen Pfad sehen, der an das Ende des Pfads angehängt ist
Ich habe diese Details aus diesem Beitrag erhalten:
http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q
Ich hoffe das kann jemand anderem helfen
quelle
Vereinfachte Erklärung
Dieser Beitrag / diese Frage ist ziemlich alt, daher werde ich eine vereinfachte Version für Benutzer von OS X Lion beantworten. Standardmäßig verfügt OSX Lion über keine der folgenden Dateien:
Wenn Sie im Terminal etwas getan haben, wird möglicherweise höchstens ~ / .bash_history angezeigt
Was es bedeutet
Sie müssen die Datei erstellen, um Ihre Standard-Bash-Befehle festzulegen (normalerweise in ~ / .bashrc). Verwenden Sie dazu einen beliebigen Editor, obwohl dies im Terminal einfacher ist:
source ~/.bashrc
Ctrl + x Ctrl + s
(um die Datei zu speichern)Ctrl + x Ctrl + c
(um Emacs zu schließen)Wenn Sie das Terminal das nächste Mal beenden und neu laden, sollten alle Ihre Bash-Einstellungen geladen werden. Aus gutem Grund ist es normalerweise eine gute Idee, Ihre Befehle in nützliche Dateinamen zu unterteilen. Zum Beispiel sollten Sie innerhalb von ~ / .bashrc a haben
source ~/.bash_aliases
und alle Ihre Alias-Befehle in ~ / .bash_aliases einfügen.quelle
Was für mich funktioniert hat, ist eine
.launchd.conf
mit den Variablen zu erstellen, die ich brauchte:Diese Datei wird von launchd beim Login gelesen. Sie können dem laufenden Start eine Variable 'on the fly' hinzufügen, indem Sie Folgendes verwenden:
In der Tat
.launchd.cond
enthält einfach launchctl Befehle.Auf diese Weise festgelegte Variablen scheinen in GUI-Anwendungen ordnungsgemäß vorhanden zu sein.
Wenn Sie zufällig versuchen, Ihre LANG- oder LC_-Variablen auf diese Weise festzulegen, und Sie iTerm2 verwenden, deaktivieren Sie die Einstellung "Gebietsschemavariablen automatisch festlegen" auf der Registerkarte "Terminal" des von Ihnen verwendeten Profils. Dies scheint die Umgebungsvariablen von launchd zu überschreiben, und in meinem Fall wurde ein defekter LC_CTYPE festgelegt, der Probleme auf Remoteservern verursachte (die die Variable übergeben haben).
(Die environment.plist scheint jedoch immer noch auf meinem Lion zu funktionieren. Sie können den RCenvironment-Einstellungsbereich verwenden , um die Datei zu verwalten, anstatt sie manuell zu bearbeiten oder den erforderlichen Xcode zu verwenden. Sie scheint immer noch auf Lion zu funktionieren, obwohl das letzte Update vom Snow Leopard stammt Ära. Macht es zu meiner persönlich bevorzugten Methode.)
quelle
Richten Sie Ihre PATH-Umgebungsvariable unter Mac OS ein
Öffnen Sie das Terminal-Programm (dies befindet sich standardmäßig in Ihrem Ordner "Programme / Dienstprogramme"). Führen Sie den folgenden Befehl aus
Dadurch wird die Datei in Ihrem Standardtexteditor geöffnet.
Für ANDROID SDK als Beispiel:
Sie müssen den Pfad zu Ihrem Android SDK-Plattform-Tools- und Tools-Verzeichnis hinzufügen. In meinem Beispiel verwende ich "/ Development / android-sdk-macosx" als Verzeichnis, in dem das SDK installiert ist. Fügen Sie die folgende Zeile hinzu:
Speichern Sie die Datei und beenden Sie den Texteditor. Führen Sie Ihr .bash_profile aus, um Ihren PATH zu aktualisieren.
Jedes Mal, wenn Sie das Terminal-Programm öffnen, enthält PATH das Android SDK.
quelle
Hinzufügen von Pfadvariablen zu OS X Lion
Das war ziemlich einfach und hat für mich im Terminal funktioniert:
Eine ähnliche Antwort gab es hier: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516
quelle
cd
ohne Argumente odercd ~/
.source .bash_profile
.echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profile
Dann kann ich es nur tun,mysql -u root -p
wenn ich bereits bei root laufe. Während ichApplications/XAMPP/xamppfiles/bin/mysql -u root -p
überall verwenden kann. Ich habe beide erwähnten Neustart-Ansätze ausprobiert: Yaw's und @ ephsmith's./usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/XAMPP/xamppfiles/bin
. Wenn ich nicht root bin, bekomme ich/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$PATH
Variable ist benutzerspezifisch (root ist ein Benutzer).Terminal öffnen:
Ändern auf System anwenden (Computer muss nicht neu gestartet werden):
(Arbeiten Sie auch mit macOS Sierra 10.12.1)
quelle
Ich hatte ein Problem mit Eclipse (als GUI gestartet, nicht über ein Skript) unter Maverics, dass kein benutzerdefinierter Pfad verwendet wurde. Ich habe alle oben genannten Methoden ohne Erfolg ausprobiert. Schließlich fand ich die einfachste funktionierende Antwort basierend auf den Hinweisen von hier :
Zum /Applications/eclipse/Eclipse.app/Contents Ordner
Bearbeiten Sie die Datei Info.plist mit dem Texteditor (oder XCode) und fügen Sie das LSEnvironment- Wörterbuch für die Umgebungsvariable mit dem vollständigen Pfad hinzu . Beachten Sie, dass es auch / usr / bin etc enthält:
Parameter für App neu laden mit
Starten Sie Eclipse neu
quelle
Lassen Sie sich von meinem persönlichen Beispiel sehr überflüssig veranschaulichen.
Manchmal richtet macOS oder Linux im Gegensatz zu Windows automatisch Umgebungsvariablen für Sie ein. Das ist aber nicht immer der Fall. Also lass es uns überprüfen. Die Zeile unmittelbar nach echo $ JAVA_HOME wäre leer, wenn die Umgebungsvariable nicht gesetzt wäre. In Ihrem Fall muss es leer sein.
Jetzt müssen wir überprüfen, ob wir die Datei bash_profile haben. Sie haben gesehen, dass wir in meinem Fall bereits bash_profile haben. Wenn nicht, müssen wir eine bash_profile-Datei erstellen.
Erstellen Sie eine bash_profile-Datei.
Überprüfen Sie erneut, ob die Datei bash_profile vorhanden ist.
Öffnen wir nun die Datei bash_profile. macOS öffnet es mit seinem Standardprogramm TextEdit.
Dies ist die Datei, in der Umgebungsvariablen gespeichert werden. Wenn Sie eine neue bash_profile-Datei geöffnet haben, muss diese leer sein. In meinem Fall war es bereits für die Python-Programmiersprache und die Anaconda-Distribution eingestellt. Jetzt muss ich Umgebungsvariable für Java hinzufügen, die nur die erste Zeile hinzufügt. Sie müssen die erste Zeile VERBATIM eingeben. NUR die erste Zeile. Speichern und schließen Sie den TextEdit. Schließen Sie dann das Terminal.
Öffnen Sie das Terminal erneut. Lassen Sie uns überprüfen, ob die Umgebungsvariable eingerichtet ist.
quelle
Ich bin den idiotischen Weg gegangen. Diese wurden am Ende von / etc / profile hinzugefügt
Erstellt einen Ordner / etc / environment. Erstellen Sie darin eine Datei mit dem Namen "oracle" oder "was auch immer" und fügen Sie das benötigte Material hinzu, das global eingestellt werden soll.
/ etc $ cat /etc/environments.d/Oracle
quelle
Weitere Details, die vielleicht für jemanden hilfreich sein können:
Aufgrund meiner eigenen Erkundungen weiß ich jetzt, wie Umgebungsvariablen auf 7 von 8 verschiedenen Arten festgelegt werden. Ich habe versucht, einen Envar zu einer Anwendung zu bringen, die ich unter Xcode entwickle. Ich setze "Tracer" -Evars mit diesen verschiedenen Methoden, um mir zu sagen, welche es in den Anwendungsbereich meiner Anwendung aufnehmen. Aus dem Folgenden können Sie ersehen, dass das Bearbeiten des "Schemas" in Xcode zum Hinzufügen von Argumenten ebenso funktioniert wie "putenv". Was es in diesem Bereich nicht festgelegt hat: ~ / .MACOS / environment.plist, app-spezifische Liste, .profile und Hinzufügen einer Erstellungsphase zum Ausführen eines benutzerdefinierten Skripts (ich habe in Xcode [zumindest] einen anderen Weg gefunden, dies festzulegen einer hat aber vergessen, wie ich den Tracer genannt habe und kann ihn jetzt nicht finden; vielleicht ist er auf einer anderen Maschine ....)
GPU_DUMP_DEVICE_KERNEL ist 3
GPU_DUMP_TRK_ENVPLIST ist (null)
GPU_DUMP_TRK_APPPLIST ist (null)
GPU_DUMP_TRK_DOTPROFILE ist (null)
GPU_DUMP_TRK_RUNSCRIPT ist (null)
GPU_DUMP_TRK_SCHARGS ist 1
GPU_DUMP_TRK_PUTENV ist 1
... auf der anderen Seite, wenn ich in das Terminal gehe und "set" sage, scheint es, dass das einzige, das es bekommt, das von .profile ist (ich hätte gedacht, es würde auch environment.plist aufnehmen, und ich bin es Sicher, als ich einmal einen zweiten Tracer-Envar im Terminal gesehen habe, ist seitdem wahrscheinlich etwas wackelig geworden. Langer Tag ....)
quelle
Schritt 1: Öffnen
~/.bash_profile
Jetzt öffnet sich ein Texteditor:
Schritt 2: Der Variablenname sollte in Großbuchstaben angegeben werden. In diesem Beispiel ist die Variable
NODE_ENV
Schritt 3:
export NODE_ENV=development
Speichern Sie es und schließen Sie es.
Starten Sie Ihr System neu.
Erledigt.
So überprüfen Sie die env-Variable: Öffnen Sie das Terminal und geben Sie ein
quelle
Es wird empfohlen, die Standard-Terminal-Shell vor dem Festlegen von Umgebungsvariablen über die folgenden Befehle zu überprüfen :
Wenn Ihr Standardterminal wie in meinem Fall / bin / zsh (Z-Shell) ist (persönlich Z-Shell bevorzugen), sollten Sie diese Umgebungsvariable in der Datei ~ / .zshenv mit folgendem Inhalt festlegen (in diesem Beispiel wird die Umgebungsvariable JAVA_HOME festgelegt , aber das gleiche gilt für andere):
In ähnlicher Weise sollten Sie für jeden anderen nicht oben genannten Terminaltyp die Umgebungsvariable in der jeweiligen Terminal-Env-Datei festlegen.
quelle