Stellen bash
Sie cmd
sicher, dass in Ihrer Path
Umgebungsvariablen das bin
Verzeichnis von Cygwin hinzugefügt wurde, damit Cygwin-Befehle unabhängig davon, wie Sie sie ausführen, sowie in einer anderen Shell verfügbar sind .
Gehen Sie dann zu Control Panel > System and Security > System
(Standard-Hotkey Win+Pause
) Advanced system settings > Environment variables
. Bearbeiten Sie die Systemvariable für alle Benutzer, Path
nur für Ihren Benutzer. Bearbeiten Sie die Benutzervariable (erstellen Sie sie, falls sie nicht vorhanden ist) Path
.
Vorausgesetzt cygwin
, dass unter C:\cygwin
(möglicherweise cygwin64 für 64-Bit-Cygwin) installiert ist , fügen Sie C:\cygwin\bin
dem hinzu Path
. Beachten Sie, dass, wenn Sie die Systemvariable verwenden Path
und zu bin
Beginn Cygwins hinzufügen , einige Cygwins Befehle eingebaute schattieren (z. B. werden Cygwins find
anstelle von Windows verwendet).find
). Ich bevorzuge es, aber wenn Sie dies nicht tun, fügen Sie Cygwins bin
am Ende Ihrer Liste hinzu Path
.
Da die meisten anderen Antworten auch über das ConEmu-Setup sprechen, gebe ich auch meine persönliche Meinung ab.
Ich bevorzuge die Ausführung einer Shell ohne Anmeldung. Unter Linux erhalten Sie beispielsweise eine Anmeldeshell, wenn Sie sich an der Textkonsole oder über ssh anmelden, und eine interaktive Shell, wenn Sie einen Terminalemulator (xterm, konsole usw.) öffnen.
Meine {Bash} -Aufgabe enthält /dir "%CD%"
Aufgabenparameter, mit denen das Arbeitsverzeichnis auf das Arbeitsverzeichnis der aktuellen Registerkarte festgelegt wird (z. B. wenn die Bash-Aufgabe von Fern ist). Der Befehl zum Starten der Bash:
%ConEmuDrive%\cygwin\bin\bash.exe -new_console:C:"%ConEmuDrive%\cygwin\Cygwin.ico"
Unsere --login -i
Optionen sind weggelassen, Shell als Nicht-Login interaktiv Shell starten (da es keine nicht-Option Argumente und ohne die Option -c hat, und es ist stdin und stdout mit Anschlüssen verbunden, siehe INVOCATION Abschnitt der bash Manpage mehr Erläuterung). Es liest und führt Befehle aus dem Benutzer rcfile aus ~/.bashrc
(nicht /etc/profile
oder ~/.bash_profile
wie eine Login-Shell, Sie brauchen also nicht, set CHERE_INVOKING=1
was nur in Bezug auf relevant ist /etc/profile
). Stellen Sie also Ihre Benutzer-Aliase, Shell-Optionen, zusätzliche Umgebungsvariablen usw. auf ~ / .bashrc, wo sie zu Recht hingehören.