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?
Unter Mac OS X Snow Leopard und Mac OS X Lion heißt die geladene Datei also .profile
und nicht .bashrc
.
Was Sie tun möchten, ist eine Datei in ~/.profile
zu erstellen und sie .profile zu nennen (falls sie noch nicht existiert).
Geben Sie alle Informationen ein, die Sie zum Laden jeder Bash-Instanz benötigen (Danke, thepurplepixel).
Ein paar Randnotizen:
-a
als Parameter, um unsichtbare Dateien mit dem Befehl ls aus dem Terminal aufzulisten: ls -a
~
steht für /Users/YourUserName
, wobei YourUserName der Kurzname Ihres Benutzernamens ist.Bearbeiten: Chris Page stellt (korrekt) fest, 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.
In Bezug auf das Problem mit .bashrc
oben:
Auf den meisten Systemen wird ~/.bashrc
nur verwendet, wenn ein interaktives Nicht-Login Shell gestartet wird. Wenn Sie jedoch eine neue Shell starten, handelt es sich häufig um eine interaktive login Shell. Da dies eine login Shell ist, wird der .bashrc
ignoriert. Um die Umgebung zwischen nicht angemeldeten und angemeldeten Shells konsistent zu halten, müssen Sie den .bashrc
aus Ihrem .profile
oder Ihrem .bash_profile
beziehen.
Siehe Bash-Referenzhandbuch, Abschnitt 6.2 Bash-Startdateien
Wird als interaktive Login-Shell 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 (mit Leopard) gab es keine Quelle für ~/.bashrc
. Ich musste diese Funktionalität selbst hinzufügen.
Auf einigen Systemen und anderen Betriebssystemen wird .bashrc
aus dem globalen /etc/profile
oder /etc/bash_profile
bezogen, oder es werden die Vorlagendateien aus /etc/skel
verwendet.
Um ehrlich zu sein, wird die Unterscheidung zwischen .bashrc
und .bash_profile
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 Login Shell (das ist .bash_profile
) und nicht zu Ihrer Nicht-Login Shell hinzugefügt wird. In der Realität spielt es normalerweise keine Rolle und die Platzierung der Konfiguration in .bashrc
ist akzeptabel.
Sie müssen Ihren eigenen .bashrc
erstellen. Sie können einfach einen Texteditor verwenden, um eine Datei mit dem Namen .bashrc
(keine Erweiterung) mit dem gewünschten Inhalt zu erstellen und in Ihrem Ausgangsverzeichnis (/Users/YourUserName/
) zu speichern.
Ich finde, dass in meinem OS 10.6.5 die Bash-Einstellungen in "/ etc/bashrc" sind. Ich denke, dies sind die Toplevel-Spezifikationen 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!
Verwenden Sie die Datei .profile etwas hinzufügen, die Sie auf eine Linux-Datei .bashrc hinzufügen würde.
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"