Stellen bashSie cmdsicher, dass in Ihrer PathUmgebungsvariablen das binVerzeichnis 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, Pathnur 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\bindem hinzu Path. Beachten Sie, dass, wenn Sie die Systemvariable verwenden Pathund zu binBeginn Cygwins hinzufügen , einige Cygwins Befehle eingebaute schattieren (z. B. werden Cygwins findanstelle von Windows verwendet).find). Ich bevorzuge es, aber wenn Sie dies nicht tun, fügen Sie Cygwins binam 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 -iOptionen 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/profileoder ~/.bash_profilewie eine Login-Shell, Sie brauchen also nicht, set CHERE_INVOKING=1was 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.