cli.help-Beta: Skripte direkt aus dem Netz ausführen
Warum nur Syntax-Hilfe geben? Kleine Skripte funkionieren auch direkt - vielleicht.
cli.help ist unsere hauseigene Linux-Hilfe für Terminalprogramm direkt im Terminal. Wenn Ihr mal nicht genau wisst, wie die Syntax für etwa echo, fc oder git lautet - cli.help hilft mit Beispielen. Warum cli.help nicht auch ein paar echte Funktionen spendieren? Nun, das Folgende ist Beta-Test gedacht: Shell-Skripte sind nichts weiter als Texte. Und diese werden in der Regel von der Bash-Shell ausgeführt. Und curl, womit cli.help abgefragt wird, macht wiederum nichts weiter, als Texte aus dem Netz zu holen. Und die kann man dann wieder ausführen ...
Skripte aus dem Netz
Vorab kurz zur Erinnerung: Weitere Infos zu cli.help bekommt Ihr im Hauptartikel und auf unserer GitHub-Seite - oder natürlich direkt im Terminal. Der Aufruf ist im Grunde immer gleich:
curl cli.help
curl cli.help/hilfe
curl cli.help/echo
curl cli.help/programme
curl cli.help/alles
Und so weiter.
Nun zu den Skripten: Es gibt einen vielleicht halbwegs bekannten Anwendungsfall für Skripte, die direkt aus dem Netz ausgeführt werden, nämlich Installationen von Programmen. Da seht Ihr dann Dinge wie:
curl example.com/installationsskript | bash
installationsskript kann dabei etwas super Simples sein:
sudo apt-add-repository ppa:foobar/ppa
sudo apt-get update
sudo apt-get install foobar123 bibliothek1 bibliothek2 bibliothek3
Hier würde also nur ein PPA (Personal Package Archive) hinzugefügt, die Paketliste aktualisiert und dann das Programm foobar samt Abhängigkeiten installiert. Solche Skripte sieht man hier und da, um Nutzern Tipparbeit zu sparen, die Installation an zentraler Stelle anpassen zu können und vermutlich auch als Ersatz für eine ordentliche Dokumentation, manchmal.
Systeminformationen via cli.help
cli.help ist unter anderem da, um mir selbst zu helfen, eine Art persönliches Cheatsheet-Tool. Ein paar kleine Skripte habe ich zudem in einem Git-Repository geparkt, die ich mir auf neue Linux-Systeme synce, um die Einrichtung zu automatisieren, meine Alias zu haben oder auch komplette Systeminformationen auslesen zu können. Das Skript zu den Systeminformationen hat seinen eigenen Artikel.
Das ist aber eigentlich zu kompliziert, also habe ich es mit cli.help versucht:
curl cli.help/version | bash
curl zieht also den Inhalt der Datei version und übergibt es per | an die Bash zum Ausführen. Und so sollte das dann aussehen:
Klar, Ihr könntet das Skript auch herunterladen und ausführen:
wget cli.help/version
./version
Der curl-Vorteil: Das Skript kann erweitert und aktualisiert werden, Ihr habt keine Datei auf dem Rechner und das Skript steht auf jedem Rechner zur Verfügung (ich setze sehr viele VMs auf ...).
Derzeit gibt es nur das version-Skript - als Testlauf. Auf einigen Systemen wird der im Skript genutzte Befehl lsb_release nicht vorhanden sein - das Skript steigt dann aus. Auf Debian-esken Systemen wie Ubuntu, Mint oder Bunsenlabs sollte es aber durchlaufen. So oder so würde ich mich über Feedback freuen, ob's funktioniert und wie es aussieht - gerne auch mit Screenshot per Mail. Ideen für Funktionen sind natürlich ebenso willkommen!
Mehr zu Linux gibt's hier - und wenn Ihr wissen wollt, was ein Xylospongium ist ...
Xylospongium-Quelle im Titelbild: Dirk Herdemerten, Lizenz: CC BY 3.0