AA_123rf_11172975_2-meerkatzen_Marcel_Schauer.jpg

© Marcel Schauer, 123RF

Mit Batsh gleichzeitig Bash- und Batch-Skripte erstellen

Doppeltes Lottchen

Batsh schlägt zwei Fliegen mit einer Klappe: In dieser Sprache geschriebene Programme lassen sich sowohl in Bash-Skripte als auch in die unter Windows genutzten Batch-Dateien übersetzen.

Zum Automatisieren wiederkehrender Aufgaben setzen Linux-Anwender gerne Bash-Skripte ein. In der Windows-Welt kommen analog sogenannte Batch-Dateien (Endung: .bat) zum Einsatz. Die in Linux- und Windows-Skripten verwendeten Befehle unterscheiden sich jedoch teilweise deutlich. Wer sowohl unter Linux als auch Windows arbeitet, muss folglich nicht nur immer zwei separate Skripte erstellen und pflegen, sondern sich auch mit den verschiedenen kryptischen Anweisungen herumschlagen.

Nach dem Willen des Google-Angestellten Carbo Kuo soll das jedoch ein Ende haben: Der in der Schweiz lebende Chinese arbeitet derzeit an einer Programmiersprache namens Batsh, deren Code ein Compiler wahlweise in passende Bash- oder Batch-Skripte übersetzt.

Begrüßungsritual

Um etwa die beliebte Meldung Hallo Welt! auszugeben, genügt in Batsh die folgende Zeile:

println("Hallo Welt!");

Was der Compiler daraus macht, können Sie auf der Internetseite http://batsh.org direkt ausprobieren: Tippen Sie die Zeile in das Textfeld auf der linken Seite und klicken Sie dann auf Compile to Bash. Der Internetdienst übersetzt jetzt den Batsh-Programmcode und zeigt ein gleichwertiges Bash-Skript auf der rechten Seite an. In diesem Fall steht dort die Zeile:

"echo" "-e" "Hallo Welt!"

Eine Batch-Datei für Windows generieren Sie analog über Compile to Windows Batch, das zugehörige Ergebnis für das Hallo-Welt-Beispiel zeigt Abbildung 1. Bei der Eingabe des Programmcodes unterstützt Sie das Textfeld auf der linken Seite mit verschiedenen Funktionen. So färbt es unter anderem den Programmcode ein und ergänzt automatisch schließende Klammern.

Abbildung 1: Über Examples lassen sich ein paar Beispielskripte abrufen, ein Klick auf About Batsh führt zu dessen GitHub-Seite.

Wenn Sie mit Batsh arbeiten möchten, sollten Sie zumindest schon einmal selbst ein kleines Bash-Skript geschrieben oder bereits in einer anderen Sprache programmiert haben. Dies erleichtert den Einstieg, zumal die Dokumentation nur aus einer extrem kurzen und zudem noch unvollständigen Referenz besteht [1].

Schnellmerker

Batsh orientiert sich ein wenig an der Programmiersprache C, lässt Ihnen aber ähnliche Freiheiten wie eine Skriptsprache. Listing 1 zeigt ein einfaches Beispielskript. Es bastelt den Dateinamen foto1.tiff aus Einzelteilen zusammen.

Listing 1

nummer = 1;
praefix = "foto";
dateiname = praefix ++ nummer ++ ".tiff";
// Dies ist ein Kommentar
println(dateiname);

Zunächst speichert die Variable nummer die Zahl 1. Jede Anweisung endet wie in C mit einem Semikolon. Die zweite Zeile verstaut analog den Text foto in der Variablen praefix. Zeichenketten müssen stets in normalen Anführungszeichen stehen, einfache Striche ' sind in Batsh nicht erlaubt.

Das ++ in der dritten Zeile hängt zwei Zeichenketten hintereinander. In der Variablen dateiname liegt somit der Dateiname foto1.tiff. Diesen gibt schließlich die letzte Zeile aus. Kommentare leiten Sie wie in C oder Java mit zwei Schrägstrichen ein. Das übersetzte Bash-Skript sehen Sie in Abbildung 2.

Abbildung 2: Im Bash-Skript setzt der Batsh-Compiler viele Elemente in Anführungszeichen.

Häufig benötigte Befehlssequenzen lassen sich in einer Funktion kapseln. Ein einfaches Exemplar zeigt Abbildung 3. Die Notation dürfte Programmierern von Bash-Skripten bekannt vorkommen: Nach dem Schlüsselwort function folgt der Name der Funktion. Alle Anweisungen, die die Funktion später ausführen soll, stehen zwischen den geschweiften Klammern. In Abbildung 3 gibt die Funktion dateiname lediglich einen Text aus. Die letzte Zeile ruft schließlich die Funktion auf, und somit die in ihr enthaltenen Anweisungen.

Abbildung 3: Links die Definition einer Funktion in Batsh, rechts die Entsprechung in der Bash.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...