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...

Themenstart

kayozz 27. Okt 2016

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

Themenstart

DrWatson 27. Okt 2016

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

Themenstart

a user 27. Okt 2016

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

Themenstart

x-beliebig 27. Okt 2016

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

Themenstart

Kommentieren



Anzeige

Stellenmarkt
  1. Media-Saturn-Holding GmbH, Ingolstadt
  2. Hornbach-Baumarkt-AG, Großraum Mannheim/Karlsruhe
  3. DATAGROUP Inshore Services GmbH, Berlin, Leipzig, Rostock
  4. über Ratbacher GmbH, Hamburg


Anzeige
Top-Angebote
  1. (u. a. X-Men Apocalypse, The Huntsman & The Ice Queen, Asterix erobert Rom, The Purge, Shutter...
  2. 99,00€
  3. (u. a. Better Call Saul 1. Staffel Blu-ray 12,97€, Breaking Bad letzte Staffel Blu-ray 9,97€)

Folgen Sie uns
       


  1. Industriespionage

    Wie Thyssenkrupp seine Angreifer fand

  2. Kein Internet

    Nach Windows-Update weltweit Computer offline

  3. Display Core

    Kernel-Community lehnt AMDs Linux-Treiber weiter ab

  4. Test

    Mobiles Internet hat viele Funklöcher in Deutschland

  5. Kicking the Dancing Queen

    Amazon bringt Songtexte-Funktion nach Deutschland

  6. Nachruf

    Astronaut John Glenn im Alter von 95 Jahren gestorben

  7. Künstliche Intelligenz

    Go Weltmeisterschaft mit Menschen und KI

  8. Redox OS

    Wer nicht rustet, rostet

  9. Star-Wars-Fanfilm

    Luke und Leia fliegen übers Wasser

  10. Sony

    Screen für Android Auto und Carplay kommt für 500 Euro



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Kosmobits im Test: Tausch den Spielecontroller gegen einen Mikrocontroller!
Kosmobits im Test
Tausch den Spielecontroller gegen einen Mikrocontroller!
  1. HiFive 1 Entwicklerboard mit freiem RISC-Prozessor verfügbar
  2. Simatic IoT2020 Siemens stellt linuxfähigen Arduino-Klon vor
  3. Calliope Mini Mikrocontroller-Board für deutsche Schüler angekündigt

Gigaset Mobile Dock im Test: Das Smartphone wird DECT-fähig
Gigaset Mobile Dock im Test
Das Smartphone wird DECT-fähig

Civilization: Das Spiel mit der Geschichte
Civilization
Das Spiel mit der Geschichte
  1. Civilization 6 Globale Strategie mit DirectX 12
  2. Take 2 GTA 5 saust über die 70-Millionen-Marke
  3. Civilization 6 im Test Nachhilfestunde(n) beim Städtebau

  1. Re: Problem bei mir schon länger

    Teebecher | 16:23

  2. Re: omfgwtfrly?

    MrAnderson | 16:22

  3. Re: Warum nur M.2?

    Ach | 16:22

  4. Re: asus kapiert es nicht

    EstebanPeligrosso | 16:21

  5. Hat Microsoft eigentlich noch eine Qualitätssicherung

    emuuu | 16:21


  1. 16:03

  2. 15:54

  3. 15:42

  4. 14:19

  5. 13:48

  6. 13:37

  7. 12:30

  8. 12:01


  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