Abo
  • Services:
Anzeige
Noch plagen Microsoft die üblichen Startprobleme beim Freilegen der Powershell für Linux.
Noch plagen Microsoft die üblichen Startprobleme beim Freilegen der Powershell für Linux. (Bild: Martin Wolf/Golem.de)

Noch keine gleichwertige Alternative

Außer Frage steht wohl, dass Microsofts Ambitionen durchaus groß sind - denn der Konzern hat beträchtliche Mittel investiert, um aus der Powershell überhaupt ein Open-Source-Produkt zu machen. Aktuell gelingt es Microsoft allerdings nicht, höhere Erwartungen als die an ein Proof-of-Concept zu erfüllen. Im Github-Verzeichnis seiner Powershell führt der Hersteller eine Liste der Probleme, die aktuell die Powershell unter Linux noch betreffen. Das ist zwar einerseits löblich, denn auf diese Weise lebt Microsoft den Gedanken der Offenheit weiter. Auf der anderen Seite liest sich jene Liste wie eine Meldung aus dem Gruselkabinett. Denn teils fundamentale Funktionen sind immer noch defekt.

Anzeige

Darunter etwa das Globbing. Von Linux-Shells her sind Admins es gewohnt, dass sie mit Wildcards (* für viele Zeichen oder ? für ein Zeichen) mehrere Dateien auf der Kommandozeile dynamisch auswählen können. Das funktioniert auf der Powershell zwar auch - aber nur für Cmdlets. Wer stattdessen ein natives Linux-Binary von der Powershell aus aufruft und eine Wildcard übergibt, erhält eine Fehlermeldung, weil die Powershell das Wildcard-Zeichen nicht automatisch ersetzt. Indirekt spielt dieser Umstand auch in die eingangs beschriebene Alias-Diskussion hinein. Wenn die Aliase für die gängigen Unix-Befehle entfernt sind und die Powershell stattdessen die nativen Linux-Programme aufruft, ist etwa der Befehl ls * in einem Ordner aus diesem Grund unmöglich.

  • Get-Childitem ist ein klassisches Cmdlet, dessen Ausgabe der des schon von cmd.exe her bekannten dir gleicht. (Screenshot: Martin Loschwitz)
  • Nach der Installation von libunwind8 und libicu55 lässt sich die Powershell mit Hilfe des Deb-Pakets von Microsoft installieren. (Screenshot: Martin Loschwitz)
  • Für Shell-Skripte kann der Anwender in der Powershell in separaten Dateien beliebige Funktionen definieren, die sich ... (Screenshot: Martin Loschwitz)
  •  ... danach aus dem jeweiligen Shell-Skript aufrufen lassen. Wie klassische Unix-Shells beherrscht die Powershell umfangreiches Scripting. (Screenshot: Martin Loschwitz)
  • Dir und ls rufen unterschiedliche Programme auf - bei ls klappt das Globbing aber nicht. (Screenshot: Martin Loschwitz)
Dir und ls rufen unterschiedliche Programme auf - bei ls klappt das Globbing aber nicht. (Screenshot: Martin Loschwitz)


Das Aufrufen nativer Linux-Binaries auf der Powershell hat aber noch mehr unangenehme Nebeneffekte. Der Rückgabewert von Cmdlets ist stets ein Objekt. Die Powershell ist auf Objekte angewiesen, um Funktionen wie das Weiterleiten der Ausgabe eines Programms als Eingabe an andere Programme zu ermöglichen. Native Linux-Programme geben aber klassische Rückgabewerte aus und keine Objekte, so dass das Piping hier gar nicht erst funktioniert.

Mindestens so schwer wiegt, dass die Powershell ab Werk nicht zwischen Groß- und Kleinschreibung unterscheidet. Das betrifft vor allem fertige Powershell-Skripte aus dem Netz. Wer sich ein fertiges Skript für eine bestimmte Aufgabe herunterlädt, muss hoffen, dass dessen Autor etwa beim Laden externer Module genau den Namen benutzt, den das jeweilige Modul im Dateisystem hat. In einer Linux-Umgebung erhielte er sonst nur eine Fehlermeldung.

Das Thema Case-Sensitivity ist auch für Windows-Admins ein Problem, die über die Powershell zu Linux kommen. Beim Komplettieren der Eingabe mit der Tab-Taste etwa zeigt die Powershell unter Windows das passende Programm an, ganz gleich, ob Groß- und Kleinschreibung passen oder nicht. Wer auf Linux jedoch Mk eingibt und glaubt, das würde zu mkdir automatisch vervollständigt, der bekommt wieder nur eine Fehlermeldung.

Obendrein entwickeln sich aus liebgewonnenen Konventionen schnell Hindernisse, wenn Linux-Admins die Powershell nutzen - oder umgekehrt. Unter Windows ist es etwa möglich, über die Powershell Programme zu stoppen oder zu starten. Die passenden Befehle dafür funktionieren unter Linux freilich nicht, weil hier eigene (native) Kommandos existieren. Überhaupt müssen sich Admins umstellen, was die Notation von Befehlen angeht. Parameter bei Kommandos bekommen stets nur ein einziges - vorangestellt und sind außerdem Case-sensitive.

Wer sich von diesen Kinderkrankheiten nicht abschrecken lässt und erste Versuche mit der Powershell unternimmt, bekommt von Microsoft sehr großzügige Hilfe. Zusammen mit der Powershell für Linux stellte das Unternehmen auch fertige Beispiele für neue Cmdlets bereit und demonstriert nebenbei, wie sich Skriptsprachen - etwa Python - aus der Powershell heraus sinnvoll nutzen lassen.

Fazit

Im ersten Test erweist sich die Powershell noch als Baustelle, die altgediente Bash-Admins kaum zufriedenstellt. Angesichts der Tatsache, dass Microsoft das Werkzeug immer noch als Alphaversion betitelt und öffentliche Entwicklung (samt Bug-Suche) erst seit zwei Monaten überhaupt stattfindet, ist das aber okay. Zumal Microsoft die gesamte Entwicklung inklusive des Bug-Reportings genauso offen gestaltet wie den Quelltext der Powershell selbst. Auch das ist bei Microsoft früher bei anderen Gelegenheiten anders abgelaufen.

Viel wichtiger ist zumindest im Augenblick ohnehin das erneute Zeichen aus Richtung Microsoft, dass man in Linux nicht mehr den einstigen Erzfeind sieht, sondern einen Konkurrenten und sogar einen echten Partner für mögliche Kooperationen. Als sich der Microsoft-CEO und Ballmer-Nachfolger Satya Nadella vor einigen Monaten zusammen mit einer Powerpoint-Folie ablichten ließ, deren Text "Microsoft Loves Linux" lautete, sorgte das in der Szene für einige Belustigung. Die Veröffentlichung der Powershell für Linux und die Arbeit, die Microsoft seither in dieses und andere Produkte investiert, beweisen aber, dass das keineswegs nur eine leere Floskel war.

Klar ist auch: Die Powershell für Linux steht momentan gerade erst am Anfang ihrer Entwicklung. Behält Microsoft das aktuelle Tempo bei der Entwicklung bei, dann kann sie in absehbarer Zeit durchaus zum ernsthaften Konkurrenten für etablierte Linux-Shells werden. Und damit auch zum Segen für alle Admins, die eigentlich aus der Windows-Welt stammen, aber mit Linux aus irgendwelchen Gründen trotzdem regelmäßig in Berührung kommen. Zusammen mit dem Ansatz, die Bash auf Windows zu portieren, verschmelzen die Welten also zusehends miteinander.

Über den Autor: Martin Gerhard Loschwitz ist Team Lead Openstack bei dem Hoster Syseleven in Berlin, der unter anderem auch Golem.de hostet. Er beschäftigt sich dort bevorzugt mit den Themen Distributed Storage, Software Defined Networking und Openstack.

 Noch keine Remote-Verwaltung, dafür Scripting

eye home zur Startseite
ObjectID 03. Nov 2016

Wow, wiedermal ein Internet fight MS vs Linux. Selbst ich als c# Programmierer, Apple MDM...

kayozz 27. Okt 2016

Powershell hat zwar viel gemeinsam mit einer REPL Shell, von der Definiton gehört es...

DrWatson 27. Okt 2016

Heißt das nicht, dass man komplett in der .NET-Welt gefangen ist? Man ersetzt ja quasi...

a user 27. Okt 2016

ich glaube du weißt nicht was "Erzfeind" bedeutet.

x-beliebig 27. Okt 2016

dass sich Microsoft Linux annähern kann, kommt aus einer ganz anderen Ecke. Das hat...



Anzeige

Stellenmarkt
  1. European XFEL GmbH, Schenefeld
  2. Alfred Kärcher GmbH & Co. KG, Winnenden bei Stuttgart
  3. enercity, Hannover
  4. Daimler AG, Stuttgart-Wangen


Anzeige
Top-Angebote
  1. (nur in den Bereichen "Mainboards", "Smartphones" und "TV-Geräte")
  2. 29,99€
  3. 18,00€ (ohne Prime bzw. unter 29€-Einkauf zzgl. 3€ Versand)

Folgen Sie uns
       


  1. Android Nougat

    Nvidia bringt Experience Upgrade 5.0 für Shield TV

  2. Eugene Cernan

    Der letzte Mann auf dem Mond ist tot

  3. taz

    Strafbefehl in der Keylogger-Affäre

  4. Respawn Entertainment

    Live Fire soll in Titanfall 2 zünden

  5. Bootcode

    Freie Firmware für Raspberry Pi startet Linux-Kernel

  6. Brandgefahr

    Akku mit eingebautem Feuerlöscher

  7. Javascript und Node.js

    NPM ist weltweit größtes Paketarchiv

  8. Verdacht der Bestechung

    Staatsanwalt beantragt Haftbefehl gegen Samsung-Chef

  9. Nintendo Switch im Hands on

    Die Rückkehr der Fuchtel-Ritter

  10. Raspberry Pi

    Compute Module 3 ist verfügbar



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
U Ultra und U Play im Hands on: HTCs intelligente Smartphones hören immer zu
U Ultra und U Play im Hands on
HTCs intelligente Smartphones hören immer zu
  1. VR-Headset HTC stellt Kopfhörerband und Tracker für Vive vor
  2. HTC 10 Evo im Kurztest HTCs eigenwillige Evolution
  3. Virtual Reality HTC stellt Drahtlos-Kit für Vive vor

Taps im Test: Aufsatz versagt bei den meisten Fingerabdrucksensoren
Taps im Test
Aufsatz versagt bei den meisten Fingerabdrucksensoren
  1. Glas Der Wunderwerkstoff
  2. Smartphone-Prognosen Das Scheitern der Marktforscher
  3. Studie Smartphones und Tablets können den Körper belasten

Dienste, Programme und Unternehmen: Was 2016 eingestellt und geschlossen wurde
Dienste, Programme und Unternehmen
Was 2016 eingestellt und geschlossen wurde
  1. Kabel Mietminderung wegen defektem Internetkabel zulässig
  2. Grundversorgung Kanada macht Drosselung illegal
  3. Internetzugänge 50 MBit/s günstiger als 16 MBit/s

  1. Hätte mir eine Konsole mit stärkerer Hardware...

    nightmar17 | 07:48

  2. Re: Win10 läuft 2025 aus??? Das sollte doch ewig...

    Proctrap | 07:45

  3. Re: Ich glaube das grundliegende Problem von...

    MrReset | 07:39

  4. Re: Für das gebotene ist der Preis einfach zu hoch.

    Kakiss | 07:27

  5. Re: Manchmal bin ich Mercedes für Ihre Pfusch...

    ronlol | 07:21


  1. 08:02

  2. 07:41

  3. 18:02

  4. 17:38

  5. 17:13

  6. 14:17

  7. 13:21

  8. 12:30


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel