Ich möchte rvm auf meinem Snow Leopard-Computer installieren.
Ich muss meiner .bashrcDatei eine Zeile hinzufügen (ich verwende bash), aber wo ist meine .bashrcDatei?
Ich möchte rvm auf meinem Snow Leopard-Computer installieren.
Ich muss meiner .bashrcDatei eine Zeile hinzufügen (ich verwende bash), aber wo ist meine .bashrcDatei?
Antworten:
In Bezug auf das Problem mit .bashrcoben:
Wird auf den meisten Systemen ~/.bashrcnur 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, .bashrcwird die ignoriert. Um die Umgebung zwischen nicht angemeldeten und angemeldeten Shells konsistent zu halten, müssen Sie das .bashrcvon Ihrem .profileoder 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; finach (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 .bashrcvom globalen /etc/profileoder /etc/bash_profileoder mithilfe der Vorlagendateien von bezogen /etc/skel.
Um ehrlich zu sein, die Unterscheidung zwischen .bashrcund .bash_profilewird 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_profileund nicht zu Ihrer Nicht-Anmeldeshell) . In der Realität spielt es normalerweise keine Rolle und das Einrichten der Konfiguration .bashrcist akzeptabel.
Es stellt sich also heraus, dass unter Mac OS X Snow Leopard und Mac OS X Lion die geladene Datei .profilenicht aufgerufen wird .bashrc.
Sie möchten eine Datei in erstellen ~/.profileund 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:
-aParameter as als solchen:ls -a~Symbol steht für den /Users/YourUserNameKurznamen 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_profileDatei anstelle einer .profileDatei.
.bash_profilein 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/).
.bashrcfunktioniert a, aber nur, wenn es keine gibt .profile. Ich denke jedoch, dass ~/.profilees 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/bashrcsind die globalen Einstellungen für alle Benutzer auf Ihrem System, was wahrscheinlich nicht das ist, was Sie wollen. Außerdem kann Apple in /etc/bashrcregelmäß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"