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. Bundeskriminalamt, Wiesbaden
  2. TUI Deutschland GmbH, Hannover
  3. ALDI SOUTH group, Mülheim an der Ruhr
  4. Suzuki Deutschland GmbH, Bensheim


Anzeige
Hardware-Angebote
  1. und bis zu 60€ Steam-Guthaben erhalten
  2. täglich neue Deals
  3. 1.029,00€ + 5,99€ Versand

Folgen Sie uns
       


  1. Komplett-PC

    In Nvidias Battleboxen steckt AMDs Ryzen

  2. Internet

    Cloudflare macht IPv6 parallel zu IPv4 jetzt Pflicht

  3. Square Enix

    Neustart für das Final Fantasy 7 Remake

  4. Agesa 1006

    Ryzen unterstützt DDR4-4000

  5. Telekom Austria

    Nokia erreicht 850 MBit/s im LTE-Netz

  6. Star Trek Bridge Crew im Test

    Festgetackert im Holodeck

  7. Quantenalgorithmen

    "Morgen könnte ein Physiker die Quantenmechanik widerlegen"

  8. Astra

    ZDF bleibt bis zum Jahr 2020 per Satellit in SD verfügbar

  9. Kubic

    Opensuse startet Projekt für Container-Plattform

  10. Frühstart

    Kabelnetzbetreiber findet keine Modems für Docsis 3.1



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Sphero Lightning McQueen: Erst macht es Brummbrumm, dann verdreht es die Augen
Sphero Lightning McQueen
Erst macht es Brummbrumm, dann verdreht es die Augen

Quantencomputer: Nano-Kühlung für Qubits
Quantencomputer
Nano-Kühlung für Qubits
  1. IBM Q Mehr Qubits von IBM
  2. Quantencomputer Was sind diese Qubits?
  3. Verschlüsselung Kryptographie im Quantenzeitalter

XPS 13 (9365) im Test: Dells Convertible zeigt alte Stärken und neue Schwächen
XPS 13 (9365) im Test
Dells Convertible zeigt alte Stärken und neue Schwächen
  1. Prozessor Intel wird Thunderbolt 3 in CPUs integrieren
  2. Schnittstelle Intel pflegt endlich Linux-Treiber für Thunderbolt
  3. Asus B9440 im Test Leichtes Geschäftsnotebook liefert zu wenig Business

  1. Re: 2020!? Und die Personalien?

    packansack | 00:48

  2. Re: Mobilfunk + Festnetz-Anschluss meiner Eltern

    LordGurke | 00:47

  3. Könnte Akamai auch gerne machen

    LordGurke | 00:44

  4. Re: FF Remakes für Switch

    packansack | 00:38

  5. Re: Immer noch zu wenige Dienste per IPv6 erreichbar

    LordGurke | 00:38


  1. 18:08

  2. 17:37

  3. 16:55

  4. 16:46

  5. 16:06

  6. 16:00

  7. 14:21

  8. 13:56


  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