Gibt es Windows-Äquivalente für die .bashrc-Datei in Linux?

29659
strupo

Ich habe gerade doskey emacs = emacs -nw $ * entdeckt, aber ohne so etwas wie .bashrc muss ich das jedes Mal eingeben, wenn ich eine Shell starte, oder?

56
[Diese Frage] (http://stackoverflow.com/questions/32003/tool-for-commandline-bookmarks-on-windows) ist nicht identisch, aber die Antwort deckt Ihr Szenario ab. Marcelo Cantos vor 14 Jahren 1

6 Antworten auf die Frage

59
nc3b

Das ist eine sehr gute Frage. Ich fand diese . Ich vermute, Sie könnten ein cmd-Skript erstellen und es beim Starten von cmd ausführen: -?

; Run a command when CMD.exe starts [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor] "AutoRun"=- 

EDIT: Ich habe es gerade ausprobiert. Ich habe AutoRun=C:\mini\bashrc.cmdund bashrc.cmd ist

@echo off set TEST_VAR=something 

wenn ich cmd starte und eingebe, echo %TEST_VAR%heißt es something. So funktioniert es :)

Kleiner Ausschnitt, den ich verwende: `doskey ∙ ♦ = exit` (wobei ♦` `[char] 4`) ist. Ermöglicht das Schließen der Shell mit Strg + D, Eingabe. Joey vor 14 Jahren 7
@Johannes Rössel ** Nizza **, danke :-) nc3b vor 14 Jahren 0
Diese Arbeit großartig, nette Arbeit nc3b. Robert S Ciaccio vor 14 Jahren 0
Das ist absolut erstaunlich +1 Mehrdad vor 13 Jahren 0
HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor mit AutoRun =% HOMEPATH% \ bashrc.bat Jeder Benutzer hätte also seine eigene Startsequenz bambam2174 vor 11 Jahren 2
Ich muss ein Idiot sein, aber wo gebe ich diesen Code ein? Marcel vor 10 Jahren 5
@Marcel Fügte eine Antwort hinzu, die dies erklärt. Humdinger vor 9 Jahren 0
wahrscheinlich am einfachsten einzustellen auf ... `AUTORUN =% USERPROFILE% \ autorun.cmd`, so dass es einen für den aktuellen Benutzer verwendet ... cooler Trick, werde es versuchen, wenn ich nach Hause komme ... Ich benutze meistens bash in letzter Zeit, aber das würde helfen. Tracker1 vor 9 Jahren 1
Nach dem Kommentar von @ Joey: Sie können in Notepad ++ "♦" eingeben, indem Sie Bearbeiten -> Zeichenbereich öffnen und auf den Buchstaben "EOT" klicken Yibo Yang vor 8 Jahren 0
17
Martin

Sie können eine Verknüpfung zu erstellen cmd.exeund den /kSchalter hinzufügen, um beim Starten eine bestimmte .bat-Datei auszuführen, etwa wie folgt:

cmd.exe /k "%HOMEDRIVE%\%HOMEPATH%\cmd-startup.bat" 

cmd-startup.bat in deinem heim würde dir das dann genauso funktionieren .bashrc

12
Humdinger

Änderung der Antwort von mc3b für diejenigen, die Windows Noobs wie ich sind.

Erstellen Sie eine Datei in C:\bashrc.cmdoder an dem Ort, an dem sich Ihre "rc" -Datei befinden soll.

@echo off set TEST_VAR=something 

Starten Sie, regeditindem Sie danach suchen oder in cmd ausführen.

Navigieren Sie in den Ordnern links zu:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor 

Klicken Sie mit der rechten Maustaste auf den Command ProcessorOrdner und klicken Sie auf New -> String Value. Geben Sie den Schlüssel ein AutoRun. Doppelklicken Sie auf AutoRunund geben Sie die Basisposition ein C:\bashrc.cmd.

Test: Öffnen Sie ein neues Cmd-Fenster und geben Sie Folgendes ein:

echo %TEST_VAR% 

Wenn es sagt something, funktioniert es.

5
JojOatXGME

Angenommen, Ihre Shell ist Powershell, nicht cmd. Sie können ein Profil für Ihre Shell erstellen . Bei diesen Profilen handelt es sich im Wesentlichen um Skripts, die beim Starten einer Shell ausgeführt werden. Einfach wie .bashrc. Ein wichtiger Teil dieses Beitrags könnte Folgendes sein:

Die Speicherorte (unter Windows Vista) der Profile für den powershell.exe-Host lauten wie folgt:

  • %windir%\system32\Windows­PowerShell\v1.0\profile.ps1
    Dies gilt für alle Benutzer des Computers und für alle Shells.
  • %windir%\system32\Windows­PowerShell\v1.0\Microsoft.Power­Shell_profile.ps1
    Dies gilt für alle Benutzer des Computers, jedoch nur für die Microsoft.PowerShell-Shell.
  • %UserProfile%\Documents\Windows­PowerShell\profile.ps1
    Dies gilt nur für den aktuellen Benutzer und alle Shells.
  • %UserProfile%\Documents\WindowsPowerShell\Micro­soft.PowerShell_profile.ps1
    Dies gilt nur für den aktuellen Benutzer und nur für die Microsoft.PowerShell-Shell.

Diese Profile werden nicht standardmäßig erstellt. Sie existieren nur, wenn Sie sie erstellen.

Unter Windows 7, 8 und 10 scheint es gleich zu sein. Weitere Informationen finden Sie hier .


Hinweis: Möglicherweise müssen Sie Folgendes ausführen. Andernfalls kann Ihr Profil nicht ausgeführt werden.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

Sie können auch Folgendes als Administrator ausführen, um die Konfiguration für alle Benutzer zu ändern.

Set-ExecutionPolicy RemoteSigned 
3
lytedev

BEARBEITEN : Dies wurde gefunden: http://msdn.microsoft.com/de-de/library/bb613488(VS.85).aspx

Um die Lösung von Martin (die Abkürzung) zu erläutern, finden Sie hier die PowerShell-Entsprechung.

ANMERKUNG : Sie müssen die Ausführung des PowerShell-Skripts aktivieren. Wenn dies deaktiviert ist, müssen Sie eine PowerShell mit erhöhten Rechten ausführen und ausführen Set-ExecutionPolicy Unrestricted. Natürlich wird dies aus Sicherheitsgründen nicht empfohlen, aber los geht's.

powershell.exe -noexit -File "%HOMEDRIVE%\%HOMEPATH%\ps-startup.ps1" 

Haben Sie eine Datei ps-startup.ps1in Ihrem Benutzerverzeichnis, und Ihre Verknüpfung führt sie beim Start als PowerShell-Datei aus. Führen Sie einfach PowerShell mit dieser Verknüpfung von hier aus aus.

Dies kann auf "bessere" Weise durch Powershell-Profile erreicht werden. Sie finden den Ort Ihres aktuellen Profils unter: echo $ profile. Sie können dieser Datei Zeilen hinzufügen, und dies sollte für zukünftige Sitzungen der Fall sein. Für vorhandene Sitzungen können Sie das Profil mit: & $ profile erneut laden. ashic vor 8 Jahren 0
2
hakatashi

Im Grunde funktioniert die Antwort von nc3b, aber das DevBox-Common- Paket von Chocolatey wird es einfacher machen .

  1. Wenn Sie Chocolatey noch nicht installiert haben, installieren Sie es.
  2. Installieren Sie das DevBox-Common-Paket über choco install devbox-common -y
    • Sie sollten diesen Befehl in administrative cmd.exe oder PowerShell eingeben.
  3. Jetzt hast du .bashrc.batund .bashrc.include.aliases-common.batin deinem Heimatweg. Jeder Abgleich der Dateien .bashrc.include.*.batwird bei jedem Start der Befehls-Shell ausgeführt.