Ich verwende MinGW unter Windows 7. Ich habe einen .bashrc
mit einigen Aliasen darin. Die Datei befindet sich in meinem Home-Ordner, in dem MinGW mich startet. Daher wird davon ausgegangen, dass es sich bei dem Ordner um meinen Home-Ordner handelt. Der Inhalt des Ordners wird nicht automatisch geladen. Ich muss den bash
Befehl ausführen , damit die Aliase funktionieren.
Ich habe versucht, es in umzubenennen .bash_profile
. Dies machte die Sache nur noch schlimmer, da es nicht automatisch geladen wurde und auch nicht, wenn ich bash
manuell lief .
Wie kann ich dieses Problem beheben?
bashrc
.bash-profile
mingw
KurToMe
quelle
quelle
Antworten:
bash
wird wahrscheinlich als Login-Shell gestartet. In diesem Fall wird die Shell nicht.bashrc
automatisch gelesen . Stattdessen liest es.bash_profile
. Aus dem Bash-Handbuch :Erstellen Sie also zusammenfassend eine
.bash_profile
Datei in Ihrem Homedir und fügen Sie die oben angegebene Zeile hinzu.Wenn Sie
bash
tatsächlich als aufgerufen werdensh
, müssen Sie.profile
statt verwenden.bash_profile
(siehe den Abschnitt "Mit Namen sh aufgerufen " im Bash-Handbuch-Link oben).quelle
.bash_rc
in der Frage genannt, aber ich meinte.bash_profile
.[ -f ~/.bashrc ] && . ~/.bashrc
Ich verwende Windows XP und hatte das gleiche Problem. Ich habe HOWTO Create a MSYS Build Environment gefunden .
Dies ist die wichtige Zeile:
Um die Laufzeiterstellung und das aktuelle Arbeitsverzeichnis leichter identifizieren zu können, kann der
~/.profile
Datei Folgendes hinzugefügt werden.In der MinGW-Shell habe ich Folgendes erstellt
.profile
:Ich habe es mit Notepad ++ als Textdatei im Unix-Format bearbeitet
.profile
und in meinem Home-Verzeichnis gespeichert.C:\MinGW\msys\1.0\home\Your_Username_Here\.profile
Dann habe ich meinen Alias hinzugefügt und gespeichert:
Dann habe ich die MinGW-Shell- Verknüpfung von meinem Startmenü aus gestartet und es hat funktioniert! Nano ohne Textumbruch.
Ich hoffe das hilft dir.
quelle
Ich habe das .bash_profile nicht für mich gefunden (es wurde nicht gelesen), also habe ich den .profile-Ansatz gewählt und es eingefügt:
Dies ersetzt meine aktuelle Shell durch einen Neustart der Bash, die meine .bashrc liest
Ich denke, dass die Verwendung eines .profile nahelegt, dass sh bei der Anmeldung verwendet wird, nicht bei der Bash.
quelle
Bei mir für MINGW mit GIT installiert, funktionierte: .bash_profile put in
C:\Users\[user_name]
Dies ist auch das Verzeichnis, in dem ~ auf in shell (pwd) verweist.
Genau so :)
quelle
Nach dem Vorbild von @Koshmarr, aber etwas anders. Meine
mingw64
, von git-scm.com heruntergeladen , würde/c/Users/[user-name]
beim Start geladen. Trotzdem war meine Heimfahrt (gefunden voncd ~
) in/h/
. Ich habe ein.bashrc
und.bash_profile
in mein~
Laufwerk und alles hat funktioniert.In
.bash_profile
:Finden Sie heraus, wo MINGW zu Hause ist und stellen Sie das
.bash_profile
dort ab.quelle
So richten Sie MSYS Bash-Initialisierungsdateien ein
Unter Windows unterscheidet sich die Art und Weise, wie Sie auf die von Bash verwendeten Initialisierungsdateien verweisen (z. B. profile, bash_profile, bashrc), von der unter Linux.
Der Unterschied zwischen dem Windows- und dem Linux-Betriebssystem besteht in der Dateisystemstruktur, die zu Unterschieden bei den Speicherorten von Bash-Dateien und den Dateinamenskonventionen führt.
Einrichten von MSYS Bash-Initialisierungsdateien (z. B. profile, bash_profile und bashrc)
1) Öffnen Sie in WINOS den Ordner 'etc', der sich hier befindet: 'C: \ msys \ 1.0 \ etc \'. Hinweis. Sie sollten eine Datei 'profile' im Ordner 'etc' sehen.
2) Speichern Sie eine Datei ohne Dateierweiterung (dh wenn Sie speichern, setzen Sie den Dateityp auf '.all files') mit dem Dateinamen '.bash_profile' auf 'C: \ msys \ 1.0 \ home \ USERNAME'. Hinweis. Es gibt einen Punkt als Präfix für den Dateinamen (z. B. '.bash_profile'), wie Sie es bei der Installation von Linux OS Bash erwarten würden
2) Speichern Sie eine Datei ohne Dateierweiterung (dh wenn Sie speichern, setzen Sie den Dateityp auf '.all files') mit dem Dateinamen '.bashrc' auf 'C: \ msys \ 1.0 \ home \ USERNAME'. Hinweis. Es gibt einen Punkt als Präfix für den Dateinamen (z. B. '.bash_profile'), wie Sie es bei der Installation von Linux OS Bash erwarten würden
4) Öffnen Sie die 'Profil'-Datei in einem Texteditor (erhabener Text x ist gut). Hinweis: Der Dateispeicherort von' Profil 'ist' C: \ msys \ 1.0 \ etc \ '.
Scrollen Sie in der 'profile'-Datei zu der Textzeile am Ende der Datei (dh scrollen Sie nach unten). In dieser Zeile sollte ein Test angezeigt werden, der angibt, dass Bash das aktuelle Verzeichnis in HOME ändert (In MSYS ist HOME wie in definiert) Profildatei)
5) Kopieren Sie vor der Zeile mit dem Text 'CD $ HOME' den folgenden Code. Durch Hinzufügen dieses Skripts in 'profile' wird MSYS bash angewiesen, das bash_profile # auszuführen. ---------------- -------------------------------------------------- --------- #modified BEGIN
6) Öffnen Sie die Datei 'bash_profile' in einem Texteditor ( Sublime Text x ist gut) und das Ende der Datei (am Ende der Datei).
7) Kopieren Sie den folgenden Code am Ende der Datei. Wenn Sie dieses Skript in ".bash_profile" einfügen, wird Bash angewiesen, ".bashrc" auszuführen.
# ------------------------------------------------- --------------------------
8) OK, jetzt schreiben wir ein kleines Skript in '.bashrc', um zu sehen, ob 'profile' 'bash_profile' aufruft und ob 'bash_profile' '.bashrc' aufruft.
8.1) Überlegen Sie sich einen Befehlsnamen, den Sie erstellen möchten. Verwenden wir 't' als Test
8.2) Öffnen Sie das Bash-Terminal und geben Sie 't' ein. Bash sollte antworten 't: Befehl nicht gefunden' - wenn es nicht 't: Befehl nicht gefunden' sagt, dann wiederholen Sie 8.1 und 8.2, bis Ihr Befehlsname 'Befehl nicht gefunden' sagt. Sie möchten keinen Aliasnamen für einen Befehl vergeben, der BAD! Zugewiesen wurde. Es muss sich also um "Befehl nicht gefunden" handeln.
8.3) OK, 't' gab mir einen 't: Befehl nicht gefunden'. Nun schreiben wir das Skript in '.bashrc'
8.4) In '.bashrc' schreiben
8.5) Speichern Sie die Datei '.bashrc' in 'C: \ msys \ 1.0 \ home \ USERNAME'
9) Fast da. Starten Sie nun das Bash-Terminal neu und schließen Sie alle zuvor geöffneten Bash-Terminals
10) Geben Sie das Terminal 't' ein. Es sollte "Test bestanden" antworten. Wenn nicht, überprüfen Sie sorgfältig, ob der Code korrekt geschrieben wurde (überprüfen Sie zuerst die Anführungszeichen).
Einige Anmerkungen 1) 'Quellendateiname' ist dasselbe wie '. Dateiname'
2) "" doppelte Anführungszeichen ermöglichen das Ersetzen von Variablen durch den Inhalt, einfache Anführungszeichen nicht
3) $ HOME ist / home / USERNAME wie ~ ist / home / USERNAME
4) Eine Funktion wird immer Alias 2 vorgezogen
Weitere Einzelheiten finden Sie in der BASH-Referenz
Ich bin neu bei Bash. Es gibt also keine Garantie, dass ich das bestmöglich gemacht habe.
Viel Glück!
quelle