Also, ich habe nicht .bash_profile
weder .profile
in meinem Home - Ordner. Wie erstelle ich sie? Was soll ich danach tun, wenn ich das Terminal öffne und diese Dateien gelesen werden?
Sie können den touch
Befehl verwenden.
Zum Beispiel,
cd ~
um zum Home-Verzeichnis zu gelangen.
Jetzt erstellen wir eine Datei mit dem Namen .bash_profile
(der Punkt bedeutet, dass sie ausgeblendet wird).
Dann benutze nano
oder vi
im Terminal. Wenn Sie nicht wissen, was vi
ist, verwenden Sie einfach nano
. Zum Öffnen dieser Dateien verwenden Sie:
sudo nano .bash_profile
sudo
stellt sicher, dass Sie diese Dateien speichern können. Hier können Sie hinzufügen aliases
. nano
oder erstellt vi
automatisch eine neue Datei, wenn diese in Ihrem aktuellen Verzeichnis in Terminal nicht vorhanden ist.
Nachdem Sie fertig sind, drücken Sie Ctrl+ O, Enterund Ctrl+ Xzu speichern und zu beenden. Schließlich verwenden
source ~/.bash_profile
Um das Terminal neu zu laden, wird gelesen, was Sie in diesen Dateien abgelegt haben.
Natürlich können Sie das auch aliasen, wenn Sie möchten. :)
Um Ihre letzte Frage zu beantworten, werden diese Dateien bei jedem Öffnen des Terminals automatisch gelesen. Wenn jedoch ein Fehler auftritt (z. B. keine Leerzeichen zwischen Aliasnamen einfügen), werden Sie darauf hingewiesen.
Wie George betonte, .bash_profile
läuft das nur auf Login-Shells. Für nicht angemeldete Shells müssten Sie eine .bashrc
Datei erstellen mit:
sudo nano .bashrc
touch
erstellen Sie zuerst leere Dateien?nano
macht das sowieso automatisch.~/.profile
als Kopie zu haben~/.bash_profile
? Und wenn Sie beides haben, was haben Sie dann drin, was Sie~/.profile
nicht tun können~/.bash_profile
?sudo
stellt sicher, dass Sie die Benutzerrechte durcheinander bringen. Tu das nicht.Sie können die Dateien aus / etc / skel / kopieren, bei denen es sich um Skelettdateien für neue Benutzer handelt, die mit dem Befehl useradd in Debian-basierten Distributionen erstellt wurden:
Diese Dateien werden bei jeder Anmeldung automatisch von der Shell geladen. Wie Sie diese Profildateien laden, erfahren Sie in der Shell-Handbuchseite. Wenn Sie die Bash-Shell auf spezielle Weise verwenden (z. B. über ssh, ansible usw.), sollten Sie den Befehl 'bash -ilc "verwenden, den Sie in ENV ausführen möchten, das von diesen Profildateien erstellt wurde". -i steht für eine interaktive Shell, die häufig von .bashrc benötigt wird. -l Anmeldeshell, mit der .profile geladen wird (oder .bash_profile vorhanden ist - siehe Handbuchseite von bash), die dann .bashrc lädt
quelle
Ich bevorzuge GUI-Texteditoren wie BBEdit oder TextWrangler. Diese Texteditoren können mit unsichtbaren Dateien wie .profile und .bash_profile umgehen und haben im Gegensatz zu nano, einer Konsolenschnittstelle, den Vorteil einer grafischen Benutzeroberfläche.
TextWrangler
BBEdit
quelle
Sie können auch einen GUI-Texteditor wie TextEdit verwenden:
open -e
ist eine Abkürzung füropen -a TextEdit
.Sie müssen nicht unbedingt .profile oder .bashrc erstellen. Terminal und iTerm 2 öffnen neue Shells als Login-Shells, sodass bash .bashrc nicht liest. Wenn sowohl .bash_profile als auch .profile vorhanden sind, liest bash nur .bash_profile, wenn es als interaktive Anmeldeshell aufgerufen wird. .profile wird von ksh gelesen, wenn es als interaktive Anmeldeshell aufgerufen wird, und von bash, wenn es als sh als interaktive Anmeldeshell aufgerufen wird.
Ich habe iTerm 2 tatsächlich angewiesen, neue Shells als nicht angemeldete Shells zu öffnen, und mein .bash_profile enthält nur eine Zeile wie
. ~/.bashrc
. tmux und der Shell-Modus in Emacs öffnen standardmäßig neue Shells als Nicht-Login-Shells. .bash_profile wird noch gelesen, wenn ich auf meinen Computer ssh.quelle
~/.bash_profile
und~/.profile
? Und du hast auch~/.bashrc
?. ~/.bashrc
.