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. GK Software AG, Schöneck/Vogtland, Hamburg, Barsbüttel, Sankt Ingbert
  2. Qnit AG, München
  3. Daimler AG, Böblingen
  4. CURA Kurkliniken Seniorenwohn- und Pflegeheime GmbH, Berlin


Anzeige
Hardware-Angebote
  1. 179,99€

Folgen Sie uns
       


  1. NFC

    Neuer Reisepass lässt sich per Handy auslesen

  2. 1 GBit/s überall

    Alternative Netzbetreiber wollen Glasfaser statt 5G

  3. Nintendo Switch im Test

    Klack und los, egal wie und wo

  4. Next EV Nio EP9

    Elektrosportwagen stellt Rekord beim autonomen Fahren auf

  5. Bytecode fürs Web

    Webassembly ist fertig zum Ausliefern

  6. 5G

    Huawei will überall im Mobilfunknetz 100 MBit/s bieten

  7. Meet

    Google arbeitet an Hangouts-Alternative

  8. Autonome Lkw

    Trump-Regierung sorgt sich um Jobs für Trucker

  9. Limux-Rollback

    Was erlauben München?

  10. Ausfall

    O2-Netz durch Ausfall von Netzserver zeitweise gestört



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
P10 und P10 Plus im Hands on: Huaweis neues P10 kostet 600 Euro
P10 und P10 Plus im Hands on
Huaweis neues P10 kostet 600 Euro
  1. iOS SAP bringt Cloud-SDK für mobile Apple-Geräte
  2. TC-7680 Kabelmodem für Gigabit-Datenraten vorgestellt
  3. HTC D4 Cog Systems will das sicherste Smartphone der Welt zeigen

P10 und P10 Plus im Hands on: Huaweis neues P10 kostet 600 Euro
P10 und P10 Plus im Hands on
Huaweis neues P10 kostet 600 Euro
  1. Sandisk iNand 7350 WD rüstet Speicher für Smartphones auf
  2. Lenovo Moto Mod macht Moto Z zum Spiele-Handheld
  3. Alternatives Betriebssystem Jolla will Sailfish OS auf Sony-Smartphones bringen

Arktika 1 Angespielt: Mit postapokalyptischen Grüßen von Stalker und Metro
Arktika 1 Angespielt
Mit postapokalyptischen Grüßen von Stalker und Metro
  1. VR Desktop Oculus Rift mit Mac-Unterstützung
  2. Virtual Reality Oculus forscht an VR-Handschuhen
  3. Oculus Rift Zenimax bekommt 500 Millionen US-Dollar Entschädigung

  1. Framedrops ...

    lumks | 18:40

  2. Korrekturvorschlag

    Pjörn | 18:37

  3. haben die bei AWS gehostet :D :D :D

    User_x | 18:36

  4. Re: nochmal

    /mecki78 | 18:36

  5. Re: Reine Festnetzanschlüsse blieben Mobilfunk...

    wire-less | 18:36


  1. 15:22

  2. 15:08

  3. 15:00

  4. 14:30

  5. 13:42

  6. 13:22

  7. 12:50

  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