Gibt es Windows, das der .bashrc-Datei in Linux entspricht?
65
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?
Kleines Snippet, das ich benutze: doskey∙♦=exit(wo ♦ist [char]4). Ermöglicht das Schließen der Shell mit Strg + D, Eingabetaste.
Joey
Das klappt super, netter Job nc3b.
Robert S Ciaccio
2
HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor mit AutoRun =% HOMEPATH% \ bashrc.bat Damit jeder Benutzer seine eigene Startsequenz hat
bambam2174 18.07.13
5
Ich muss ein Idiot sein, aber wo soll ich diesen Code setzen?
Marcel
1
wahrscheinlich am einfachsten einzustellen ... AUTORUN=%USERPROFILE%\autorun.cmddamit es einen für den aktuellen Benutzer verwendet ... cooler Trick, werde es aber versuchen, wenn ich nach Hause komme ... Ich verwende in letzter Zeit meistens bash, aber das würde helfen.
Tracker1
21
Sie können eine Verknüpfung erstellen cmd.exeund den /kSchalter hinzufügen, um beim Start eine bestimmte .bat-Datei auszuführen.
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 den bashrc-Speicherort ein C:\bashrc.cmd.
Test: Öffnen Sie ein neues Cmd-Fenster und geben Sie Folgendes ein:
Angenommen, Ihre Shell ist Powershell und nicht cmd, können Sie ein Profil für Ihre Shell erstellen . Solche Profile sind im Grunde Skripte, die ausgeführt werden, wenn Sie eine Shell starten. Genau wie .bashrc. Ein wichtiger Teil dieses Beitrags könnte sein:
Die Speicherorte (unter Windows Vista) der Profile für den Host powershell.exe lauten wie folgt:
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Dies gilt für alle Benutzer des Computers und für alle Shells.
%windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
Dies gilt für alle Benutzer des Computers, jedoch nur für die Microsoft.PowerShell-Shell.
%UserProfile%\Documents\WindowsPowerShell\profile.ps1
Dies ist nur für den aktuellen Benutzer und alle Shells.
%UserProfile%\Documents\WindowsPowerShell\Microsoft.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 dasselbe zu sein. Weitere Informationen finden Sie auch hier .
Hinweis: Möglicherweise müssen Sie Folgendes ausführen. Andernfalls wird Ihr Profil möglicherweise nicht ausgeführt.
Set-ExecutionPolicyRemoteSigned-ScopeCurrentUser
Sie können auch Folgendes als Administrator ausführen, um die Konfiguration für alle Benutzer zu ändern.
Im Folgenden finden Sie das PowerShell-Äquivalent, um Martins Lösung (die Verknüpfung) zu erläutern.
HINWEIS : Die PowerShell-Skriptausführung muss aktiviert sein. Wenn dies deaktiviert ist, müssen Sie eine PowerShell mit erhöhten Rechten ausführen Set-ExecutionPolicy Unrestricted. Offensichtlich wird dies aus Sicherheitsgründen nicht empfohlen, aber los geht's.
Haben Sie eine Datei mit dem Namen 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.
Dies kann durch Powershell-Profile "besser" erreicht werden. Sie finden den Speicherort 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 bestehende Sitzungen können Sie das Profil mit: & $ profile neu laden.
ashic
3
Grundsätzlich funktioniert die Antwort von nc3b, aber das DevBox-Common- Paket von Chocolatey wird es einfacher machen .
Installieren Sie das DevBox-Common-Paket von choco install devbox-common -y
Sie sollten diesen Befehl in administrative cmd.exe oder PowerShell eingeben.
Jetzt haben Sie .bashrc.batund .bashrc.include.aliases-common.batin Ihrem Heimatpfad. Jeder Dateiabgleich .bashrc.include.*.batwird bei jedem Start der Befehlsshell ausgeführt.
An alle Leute, die aus einer Unix-ähnlichen Welt kommen und auf diese Frage stoßen (dh an alle, die danach fragen .bashrc): Verbessern Sie die Lebensdauer Ihrer Windows-Konsole radikal und verwenden Sie nicht mehr Stock cmd.exeund das Standard-Windows-Terminal !! Niemand, der diese Frage stellt oder Antworten auf diese Frage sucht, sollte die aktuelle Standardeinstellung cmd.exeund das aktuelle Terminal verwenden!
Wenn Sie bereit sind, den Lagerbestand auszuschalten cmd.exe(ich kenne keinen gültigen Grund, dies nicht zu tun), lautet eine einfache Antwort auf die ursprüngliche Frage:
Installieren und verwenden Sie Cmder und Ihre .bashrcEntsprechung wird
%CMDER_ROOT%\config\user_profile.cmd, während Sie gleichzeitig Ihre Shell- / Konsolenerfahrung erheblich verbessern.
Meinungen, Erweiterungen und lose verwandte Empfehlungen folgen ...
Möglicherweise möchten Sie ConEmu und Clink nur explizit unabhängig voneinander verwenden, anstatt das mitgelieferte Cmder-Paket zu verwenden.
Um das zu tun und ein paar Dinge hinzuzufügen, die "an Windows arbeiten müssen, was soll ich tun", siehe unten, sind einige gute Dinge, die zu tun sind. Diese haben zwar sehr viel mit der ursprünglichen Frage zu tun, aber ich habe kürzlich ein Windows-Setup noch einmal durchlaufen, habe das meiste davon bereits getippt und die Zielgruppe in dieser Frage ist korrekt, also los geht's ...
Verwenden Sie scoop.sh für alle Ihre Installationen
scoop ist ein großartiger Paketmanager für Windows (ähnlich wie apt / yum / pacman / emerge / whatever) ... bei dem alle Pakete für den Benutzer installiert werden (ohne dass Administratorrechte erforderlich sind)
Installieren Sie den extrasBucket auf jeden Fall für viele Dinge, die keine Konsole sind ( scoop bucket add extras)
Sie können auch chocolatey verwenden , aber (meiner Meinung nach) nur, wenn unter Zwang und das, was Sie wollen, nicht in einem Schaufeleimer ist
oder machen Sie einfach Ihr eigenes Schaufelmanifest
Es ist ein trauriger Tag, an dem das, was ich will, nicht in einem Eimer ist :(
Im Gegensatz zu scoop benötigt chocolatey Administratorrechte für die Installation
das Windows-Terminal ist schrecklich (aber sie arbeiten daran )
Stellen Sie sicher, dass Sie es als Standardterminal konfigurieren
"ConEmu erzwingen" und "Beim Betriebssystemstart registrieren" in Settings::Integration->Default term
SO VIELE andere Konfigurationsmöglichkeiten
Wenn Sie überfordert sind, bleiben Sie vielleicht bei Cmder und seinen angemessenen Standardeinstellungen ( scoop install cmder), aber ich persönlich halte es für sauberer, Clink und ConEmu getrennt zu installieren / auszuführen.
> 100 GNU - Tools ( grep, vim, sed, ls, cat, curl, wc, less, find, etc, etc) Sie kennen und lieben, direkt in Ihrem cmd.exe-ähnlichen Terminal ohne nicht-native Seltsamkeit
Achten Sie auf Namenskollision Umbenennungen wie find->gfindundawk->gawk
Ich benutze Gow so ziemlich ausschließlich für die grundlegende Windows-Arbeit, anstatt mich mit WSL, Cygwin, MSYS, Git Bash usw. zu beschäftigen.
Gow-Tools kommen GNU / * nix-on-Windows so nahe, wie ich es bisher erlebt habe, während ich in Windows geblieben bin, ohne die Kopfschmerzen von Cygwin-Umgebungen, die Unangenehmkeit des WSL-Dateisystems (an dem auch gearbeitet wird ), Gitbash-Fenster usw
Installieren Sie nach Belieben weitere nützliche Tools (mit Schaufel)
die wichtigsten und Extras Schaufel Eimer haben viele weitere gute Tools und Anwendungen (Python, OpenSSH, ripgrep, fzf, sysinternals, erhaben-Text, meld, ccleaner, usw.)
Obwohl sysinternals definitiv keine GNU / Unix-Sache ist, ist sie eine wesentliche / klassische Sammlung von nativen Windows-Tools.
Verwenden Sie scoop searchund scoop info, um die gewünschten zu finden, oder stöbern Sie in den Eimern (es gibt mehrere Eimer , nicht nur Haupt- und Extras).
Antworten:
Das ist eine sehr gute Frage. Ich fand diese . Ich nehme an, Sie könnten ein Cmd-Skript erstellen und beim Starten von Cmd ausführen lassen: -?
EDIT: Ich habe es gerade versucht. Ich habe
AutoRun=C:\mini\bashrc.cmd
und bashrc.cmd istwenn ich cmd starte und eingebe steht
echo %TEST_VAR%
draufsomething
. So funktioniert es :)quelle
doskey∙♦=exit
(wo♦
ist[char]4
). Ermöglicht das Schließen der Shell mit Strg + D, Eingabetaste.AUTORUN=%USERPROFILE%\autorun.cmd
damit es einen für den aktuellen Benutzer verwendet ... cooler Trick, werde es aber versuchen, wenn ich nach Hause komme ... Ich verwende in letzter Zeit meistens bash, aber das würde helfen.Sie können eine Verknüpfung erstellen
cmd.exe
und den/k
Schalter hinzufügen, um beim Start eine bestimmte .bat-Datei auszuführen.cmd-startup.bat
bei dir zu hause würde dir das dann genauso gehen.bashrc
quelle
Änderung der Antwort von mc3b für diejenigen, die Windows Noobs wie ich sind.
Erstellen Sie eine Datei in
C:\bashrc.cmd
oder an einem beliebigen Ort, an dem sich Ihre "rc" -Datei befinden soll.Führen
regedit
von danach zu suchen oder es in cmd ausgeführt wird .Navigieren Sie in den Ordnern links zu:
Klicken Sie mit der rechten Maustaste auf den
Command Processor
Ordner und klicken Sie aufNew -> String Value
. Geben Sie den Schlüssel einAutoRun
. Doppelklicken Sie aufAutoRun
und geben Sie den bashrc-Speicherort einC:\bashrc.cmd
.Test: Öffnen Sie ein neues Cmd-Fenster und geben Sie Folgendes ein:
Wenn es heißt
something
, funktioniert es.quelle
Angenommen, Ihre Shell ist Powershell und nicht cmd, können Sie ein Profil für Ihre Shell erstellen . Solche Profile sind im Grunde Skripte, die ausgeführt werden, wenn Sie eine Shell starten. Genau wie
.bashrc
. Ein wichtiger Teil dieses Beitrags könnte sein:Unter Windows 7, 8 und 10 scheint es dasselbe zu sein. Weitere Informationen finden Sie auch hier .
Hinweis: Möglicherweise müssen Sie Folgendes ausführen. Andernfalls wird Ihr Profil möglicherweise nicht ausgeführt.
Sie können auch Folgendes als Administrator ausführen, um die Konfiguration für alle Benutzer zu ändern.
quelle
BEARBEITEN : Gefunden: http://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx
Im Folgenden finden Sie das PowerShell-Äquivalent, um Martins Lösung (die Verknüpfung) zu erläutern.
HINWEIS : Die PowerShell-Skriptausführung muss aktiviert sein. Wenn dies deaktiviert ist, müssen Sie eine PowerShell mit erhöhten Rechten ausführen
Set-ExecutionPolicy Unrestricted
. Offensichtlich wird dies aus Sicherheitsgründen nicht empfohlen, aber los geht's.Haben Sie eine Datei mit dem Namen
ps-startup.ps1
in 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.quelle
Grundsätzlich funktioniert die Antwort von nc3b, aber das DevBox-Common- Paket von Chocolatey wird es einfacher machen .
choco install devbox-common -y
.bashrc.bat
und.bashrc.include.aliases-common.bat
in Ihrem Heimatpfad. Jeder Dateiabgleich.bashrc.include.*.bat
wird bei jedem Start der Befehlsshell ausgeführt.quelle
An alle Leute, die aus einer Unix-ähnlichen Welt kommen und auf diese Frage stoßen (dh an alle, die danach fragen
.bashrc
): Verbessern Sie die Lebensdauer Ihrer Windows-Konsole radikal und verwenden Sie nicht mehr Stockcmd.exe
und das Standard-Windows-Terminal !! Niemand, der diese Frage stellt oder Antworten auf diese Frage sucht, sollte die aktuelle Standardeinstellungcmd.exe
und das aktuelle Terminal verwenden!Wenn Sie bereit sind, den Lagerbestand auszuschalten
cmd.exe
(ich kenne keinen gültigen Grund, dies nicht zu tun), lautet eine einfache Antwort auf die ursprüngliche Frage:Installieren und verwenden Sie Cmder und Ihre
.bashrc
Entsprechung wird%CMDER_ROOT%\config\user_profile.cmd
, während Sie gleichzeitig Ihre Shell- / Konsolenerfahrung erheblich verbessern.Meinungen, Erweiterungen und lose verwandte Empfehlungen folgen ...
Cmder ist ein Metapaket, das ConEmu , Clink und eine Menge zusätzlicher Einstellungen und Dinge zusammenfasst. ConEmu ist der Terminal-Emulator, der die Startskript-Funktion bereitstellt , die (über die von Cmder bereitgestellten Standardeinstellungen von ConEmu ) das Routing zum angegebenen Ende bewirkt
%CMDER_ROOT%\config\user_profile.cmd
.Möglicherweise möchten Sie ConEmu und Clink nur explizit unabhängig voneinander verwenden, anstatt das mitgelieferte Cmder-Paket zu verwenden.
Um das zu tun und ein paar Dinge hinzuzufügen, die "an Windows arbeiten müssen, was soll ich tun", siehe unten, sind einige gute Dinge, die zu tun sind. Diese haben zwar sehr viel mit der ursprünglichen Frage zu tun, aber ich habe kürzlich ein Windows-Setup noch einmal durchlaufen, habe das meiste davon bereits getippt und die Zielgruppe in dieser Frage ist korrekt, also los geht's ...
extras
Bucket auf jeden Fall für viele Dinge, die keine Konsole sind (scoop bucket add extras
)cmd.exe
scoop install clink
clink autorun install
dass es auch ausgeführt wird, wenn ausgeführtcmd.exe
wirdscoop install conemu
Settings::Integration->Default term
scoop install cmder
), aber ich persönlich halte es für sauberer, Clink und ConEmu getrennt zu installieren / auszuführen.scoop install gow
grep
,vim
,sed
,ls
,cat
,curl
,wc
,less
,find
, etc, etc) Sie kennen und lieben, direkt in Ihremcmd.exe
-ähnlichen Terminal ohne nicht-native Seltsamkeitfind->gfind
undawk->gawk
scoop search
undscoop info
, um die gewünschten zu finden, oder stöbern Sie in den Eimern (es gibt mehrere Eimer , nicht nur Haupt- und Extras).quelle