Benutzbare Shell unter Windows

Unter Windows mit der Konsole zu arbeiten ist normalerweise nichts als pain in the ass. Es gibt allerdings Möglichkeiten, sich das ganze erträglich zu gestalten, dazu braucht man nur 3 Tools und 1-2 Einstellungen. Der Text ist relativ lang, um Missverständnissen vorzubeugen und alles so verständlich wie möglich zu erklären.

Benutzte Programme/Toolkits

Hier eine Liste der Programme, die mindestens benötigt werden (können jederzeit durch analoge ersetzt werden, aber diese funktionieren halt)
Alle drei sind unter Sourceforge gehostet. Um sie herunterzuladen genügt ein Klick auf den einladenden grünen -Button. Außer bei Win-Bash, da führt dieser zum Quellcode. Ich habe deshalb einen Direktlink eingefügt.

  1. win-bash
    Direktlink zum Download
    Win-bash ist die gute alte Bourne-again shell für Windows. Unverzichtbar für Pipes à la ls | grep zip. Diese Implementierung ist 3 MB klein und nur eine einzige .exe-Datei.
  2. Un*xUtils
    Haufenweise Tools, ohne die kein Shell-Script leben kann. Ich sage nur cat, grep, ls, find, …
  3. Console
    Ersatz für Windows’ native Konsole. Hat ein Kontextmenü und Tabs, ist hübsch und sehr anpassbar.

Installation

Ich erläutere nun, wie ich mir das Ganze eingestellt habe, wer es anders haben will, soll das tun.
In Windows fügt man auf folgende Weise Ordner dem PATH hinzu (Ausführbare Dateien in Ordnern, die im PATH stehen werden von überall gefunden, d.h. muss man nur editor eintippen, um C:\WINDOWS\editor.exe auszuführen):
bis XP:
Rechtsklick auf „Computer“ → Kontextmenü-Eintrag: Eigenschaften → Tab: Erweitert → Button: Systemvariablen
ab Vista:
Systemsteuerung → Benutzerkonten → Systemvariablen
Im nun erschienenen Fenster kann man die globalen Systemvariablen betrachten und für den aktuellen Benutzer ändern. Um nun für einen Benutzer die PATH-Variable anzupassen, fügt man mit dem entsprechenden Button eine Systemvariable hinzu, nennt sie Path (oder PATH oder path oder pAtH, …) und gibt eine durch Strichpunkte getrennte Liste der gewünschten Ordner an. Bei mir: C:\UnxUtils\bin;C:\UnxUtils\usr\local\wbin
Console
In der heruntergeladenen .zip-Datei befindet sich ein Ordner namens „Console2“. Diesen kann man überall hinpacken und dann das Programm ausführen. Bei mir kosequenterweise im Programme- bzw. Program Files-Ordner
UnxUtils
Diese .zip-Datei enthält eine Unix-Dateistruktur. Ich habe mich dafür entschieden, sie einfach unter C: zu packen, d.h. den Inhalt der Datei, die Ordner „bin“ und „usr“ in den neu erstellten Ordner C:\UnxUtils\ zu extrahieren. Die Ordner C:\UnxUtils\bin\ sowie C:\UnxUtils\usr\local\wbin\ müssen dann dem PATH hinzugefügt werden (s.o.).
Win-bash
Die Datei win-bash.exe habe ich einfach in bash.exe umbenannt (um es mir einfacher zu merken) und nach C:\UnxUtils\bin\ kopiert. C:\WINDOWS\ funktioniert natürlich genauso.
Schließlich habe ich noch Console darauf eingestellt, standardmäßig im Ordner C:\Users\Phil\ zu starten und bash.exe als Shell zu verwenden.
Schon fertig.