Benutzer-Werkzeuge

Webseiten-Werkzeuge


powershell:module:psreadline

Dies ist eine alte Version des Dokuments!


Kommandozeile und Befehlshistorie in PowerShell bearbeiten mit PSReadline


GNU Readline ist eine Biblio­thek mit Funktionen zur Bear­beitung von Befehls- und Programm­zeilen. Microsoft hat sie für Power­Shell adaptiert und so den Bedien­komfort der Kon­sole deutlich erhöht. Davon profi­tieren Anwender besonders beim Zugriff auf die Historie der Kom­mandos sowie bei der Auto­vervoll­ständigung.

Im Vergleich zur PowerShell ISE, die als grafischer Editor die Script-Entwickler mit einer Reihe von intelligenten Funktionen unterstützt, waren die Editier­möglich­keiten in der textorientierten PowerShell bisher beschränkt. Sie bot dabei kaum mehr als der alte Kommando­interpreter, speziell beim Wieder­verwenden von Befehlen aus der History (siehe dazu: Get-History: PowerShell-Befehle wiederholen auf der Kommandozeile).

PSReadline seit Windows 10 an Bord

Microsoft bot zwar seit einiger Zeit PSReadline als separates Modul an, das man unter Windows 7/8 explizit installieren musste. Aber erst seit PowerShell 5.0 gehört es zum Lieferumfang. Unter Windows 10 und Server 2016 ist es somit automatisch vorhanden. Bei älteren Versionen des Betriebs­systems erhält man es jetzt am einfachsten, indem man die aktuelle PowerShell über WMF nachinstalliert.

PSReadline definiert eine Fülle von Tasten­kombinationen, die sich vermutlich nur Emacs-Gurus komplett merken können. Aber selbst wenn man davon nur eine Handvoll verwendet, kann man sich das Leben auf der Kommando­zeile schon wesentlich leichter machen.

Unterstützung für Copy & Paste, Rückgängig

Keiner Gedächtnis­leistung bedarf es, um die Tastenkom­binationen für Rückgängig, Kopieren und Einfügen oder Ausschneiden zu behalten. Diese sind nämlich gleich wie bei den GUI-Anwendungen, also STRG + Z, STRG + C, STRG + V und STRG + X. Auch das Markieren von Text funktioniert wie gewohnt über STRG + Pfeil links / rechts.
Text markieren und kopieren mit PSReadline

Erweiterte Autovervollständigung

PowerShell selbst bietet eine automatische Vervoll­ständigung von Cmdlet- und Parameter­namen. Mit Tab bzw. STRG + Tab rotiert man vorwärts oder rückwärts durch die Liste. Bei Cmdlets mit sehr vielen Parametern ist das nicht sehr praktisch, vor allem dann, wenn man sich erst einen Überblick verschaffen möchte.

PSReadline bietet hier mit STRG + Leertaste eine Alternative. Diese Kombination zeigt eine Liste aller Parameter, durch die man sich mit den Pfeiltasten bewegen kann. Der gerade markierte wird dann automatisch in die Befehlszeile übernommen.
Alle verfügbaren Parameter eines Cmdlets anzeigen mit STRG + Leertaste

Dieses Verfahren funktioniert auch für die vorgegebenen Werte eines Parameters, beispielsweise für ErrorAction. Möchte man sich auf diese Weise etwa für Get-CimInstance die WMI-Klassen anzeigen lassen, dann sollte man diese Liste durch Eingabe der ersten Buchstaben eingrenzen, andernfalls erhält man hunderte Namen.

powershell/module/psreadline.1582795932.txt.gz · Zuletzt geändert: 2024/05/27 08:35 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki