Ich möchte rvm auf meinem Snow Leopard-Computer installieren.
Ich muss meiner .bashrc
Datei eine Zeile hinzufügen (ich verwende bash), aber wo ist meine .bashrc
Datei?
Ich möchte rvm auf meinem Snow Leopard-Computer installieren.
Ich muss meiner .bashrc
Datei eine Zeile hinzufügen (ich verwende bash), aber wo ist meine .bashrc
Datei?
Antworten:
In Bezug auf das Problem mit .bashrc
oben:
Wird auf den meisten Systemen ~/.bashrc
nur beim Starten einer interaktiven Shell ohne Anmeldung verwendet . Wenn Sie jedoch eine neue Shell starten es ist oft eine interaktive Login - Shell . Da dies eine Login- Shell ist, .bashrc
wird die ignoriert. Um die Umgebung zwischen nicht angemeldeten und angemeldeten Shells konsistent zu halten, müssen Sie das .bashrc
von Ihrem .profile
oder Ihrem beziehen .bash_profile
.
Siehe Bash-Referenzhandbuch, Abschnitt 6.2 Bash-Startdateien
Wird als interaktive Anmeldeshell oder mit --login aufgerufen
Wenn Bash als interaktive Anmeldeshell oder als nicht interaktive Shell mit der Option --login aufgerufen wird, werden zuerst Befehle aus der Datei / etc / profile gelesen und ausgeführt, sofern diese Datei vorhanden ist. Nach dem Lesen dieser Datei sucht sie in dieser Reihenfolge nach ~ / .bash_profile, ~ / .bash_login und ~ / .profile und liest und führt Befehle von der ersten Datei aus, die vorhanden und lesbar ist.
Wird als interaktive Shell ohne Anmeldung aufgerufen
Wenn eine interaktive Shell gestartet wird, die keine Anmeldeshell ist, liest Bash Befehle von ~ / .bashrc und führt sie aus, sofern diese Datei vorhanden ist.
Normalerweise enthält Ihr ~ / .bash_profile die Zeile
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
nach (oder vor) Login-spezifischen Initialisierungen.
Auf meinem Mac (Running Leopard) gab es keine Quelle für die Leitung ~/.bashrc
. Ich musste diese Funktionalität selbst hinzufügen.
Wird auf einigen Systemen und anderen Betriebssystemen .bashrc
vom globalen /etc/profile
oder /etc/bash_profile
oder mithilfe der Vorlagendateien von bezogen /etc/skel
.
Um ehrlich zu sein, die Unterscheidung zwischen .bashrc
und .bash_profile
wird von der Community nicht gut verstanden. Wenn viele Entwickler "Add this to your .bashrc" sagen, meinen sie "Add this to your .bash_profile". Sie möchten, dass die Funktionalität zu Ihrer Anmeldeshell hinzugefügt wird ( .bash_profile
und nicht zu Ihrer Nicht-Anmeldeshell) . In der Realität spielt es normalerweise keine Rolle und das Einrichten der Konfiguration .bashrc
ist akzeptabel.
Es stellt sich also heraus, dass unter Mac OS X Snow Leopard und Mac OS X Lion die geladene Datei .profile
nicht aufgerufen wird .bashrc
.
Sie möchten eine Datei in erstellen ~/.profile
und sie als .profile bezeichnen (falls sie noch nicht vorhanden ist).
Geben Sie alle Informationen ein, die Sie zum Laden jeder Bash-Instanz benötigen (Danke, thepurplepixel).
Ein paar Randnotizen:
-a
Parameter as als solchen:ls -a
~
Symbol steht für den /Users/YourUserName
Kurznamen Ihres Benutzernamens.Edit: Chris Page merkt (korrekt) an, dass alles, was Sie in eine .profile-Datei einfügen, auf die von Ihnen verwendete Shell (zhs, bash usw.) angewendet wird. Wenn der Inhalt nur die Bash-Shell betreffen soll, platzieren Sie den Inhalt in einer .bash_profile
Datei anstelle einer .profile
Datei.
.bash_profile
in Ihrem Ausgangsverzeichnis bereits eine vorhanden ist .profile
!
Sie müssen Ihre eigenen machen .bashrc
. Sie können einfach einen Texteditor verwenden, um eine Datei .bashrc
(ohne Erweiterung) mit dem gewünschten Inhalt zu erstellen und in Ihrem Home-Verzeichnis zu speichern ( /Users/YourUserName/
).
.bashrc
funktioniert a, aber nur, wenn es keine gibt .profile
. Ich denke jedoch, dass ~/.profile
es standardmäßig existiert. Froh, dass ich helfen konnte! (Und Sie sollten Ihre Lösung in eine Antwort einfügen und für zukünftige Leser dieser Frage akzeptieren.)
Ich finde, dass in meinem OS 10.6.5 die Bash-Einstellungen in "/ etc / bashrc" sind. Ich denke, das ist die Toplevel-Spezifikation für Shell.
Sie benötigen jedoch ein Root-Konto, um es zu ändern. Die lokalen Benutzerspezifikationen "~ / .bashrc" sollten mit dem folgenden Snippet beginnen, um die Bash-Einstellungen auf Systemebene zu lesen und zu laden:
if [ -r /etc/bashrc ]; then
. /etc/bashrc
fi
Normalerweise füge ich Aliase in den bashrc auf Systemebene ein, damit auch alle Benutzer darauf zugreifen können. Es sei denn, sie möchten Ihre Verknüpfungen und Aliase nicht verwenden.
Viel Glück!
~/.bashrc
, nicht unter /etc/bashrc
. /etc/bashrc
sind die globalen Einstellungen für alle Benutzer auf Ihrem System, was wahrscheinlich nicht das ist, was Sie wollen. Außerdem kann Apple in /etc/bashrc
regelmäßigen Abständen Änderungen vornehmen, die Ihre Anpassungen zum Erliegen bringen können.
Verwenden Sie die .profile-Datei, um alles hinzuzufügen, was Sie einer Linux .bashrc-Datei hinzufügen würden.
Zum Beispiel
PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit"