Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Einzeiler (Informatik)

Ein Einzeiler in der Informationstechnik (IT) beschreibt in verschiedenstem Zusammenhang eine Anweisung, Abfrage, Kommandokette (Pipe) und ähnliches, …

Inhalt5 Abschnitte
  1. 1. Grundidee
  2. 2. Typische Beispiele
  3. 3. Abgrenzung zu Mehrzeilern
  4. 4. Plattformabhängigkeit
  5. 5. Weitere Gegenbeispiele

Grundidee

Ein Einzeiler in der Informationstechnik ist eine Anweisung, Abfrage, Kommandokette oder ähnliche Eingabe, die sinnvoll nur aus einer einzigen Zeile besteht. Er enthält keine Fortsetzungszeilen. Einzeiler können zum Beispiel in einer Auszeichnungssprache, in einer Programmiersprache, in einer Shell oder bei Datenbankabfragen vorkommen.

Typische Beispiele

In der Wikipedia-Syntax ist eine Weiterleitung ein Einzeiler, etwa: #WEITERLEITUNG [[Monostichon]].

Auch ein Programmaufruf kann ein Einzeiler sein. Das Python-Beispiel python -c "print ''.join([...])" erzeugt die Ausgabe: Dies ist ein Einzeiler. Dabei wird ein kurzer Python-Befehl direkt über die Kommandozeile ausgeführt.

Ein Bash-Beispiel zeigt eine Schleife in einer einzigen Zeile: while true;do ...;done. Sie gibt wiederholt Datum und Uhrzeit aus und meldet je nach Sekunde getroffen oder weiter. Obwohl die Schleife mehrere logische Schritte enthält, ist sie als eine einzelne Kommandozeile geschrieben.

Abgrenzung zu Mehrzeilern

Ein Gegenbeispiel ist dieselbe Bash-Schleife in mehrzeiliger Form: while true, danach do, mehrere einzelne Befehlszeilen, fi, sleep 1 und schließlich done. Inhaltlich kann sie dasselbe leisten wie der Einzeiler, ist aber kein Einzeiler, weil sie aus mehreren Zeilen besteht.

Auch eine Hilfsdatei ist kein Einzeiler im engeren Sinn. Im Beispiel enthält sysdate.sql mehrere Zeilen, darunter select sysdate from dual; und exit. Der Aufruf von sqlplus ... @sysdate.sql startet dann diese Datei. Die eigentlichen Befehle stehen also nicht vollständig in einer einzigen Eingabezeile.

Plattformabhängigkeit

Die Beispiele mit Oracle SQL*Plus zeigen, dass Einzeiler plattformabhängig sein können. Unter Microsoft Windows funktioniert im Beispiel echo select sysdate from dual;|sqlplus -s scott/tiger@//localhost:1521/orclpdb.local und liefert eine Ausgabe mit SYSDATE und dem Datum 05.11.22.

Andere Schreibweisen funktionieren dort nicht: Mit Anführungszeichen oder Hochkommas meldet SQL*Plus SP2-0734: Unbekannter Befehl ..., und mit maskiertem Semikolon entsteht ORA-00911: Ungultiges Zeichen.

Unter einem unixartigen System ist es umgekehrt anders: Die unquoted Variante mit Semikolon vor der Pipe führt zu -bash: syntax error near unexpected token '|'. Dagegen funktionieren die Varianten mit doppelten Anführungszeichen, einfachen Hochkommas oder maskiertem Semikolon und liefern jeweils SYSDATE mit dem Datum 05.11.22.

Weitere Gegenbeispiele

Ein Here-Dokument ist ebenfalls kein Einzeiler. Dabei werden mehrere Zeilen zwischen << EOF und EOF an ein Programm übergeben. Im Beispiel erhält SQL*Plus mehrere Befehle: select sysdate from dual;, select 'Ende' as Text from dual; und exit. Die Ausgabe enthält dadurch neben SYSDATE auch eine zweite Ergebnisspalte TEXT mit dem Wert Ende.

Diese Gegenbeispiele verdeutlichen: Entscheidend ist nicht nur, ob ein Befehl kurz ist, sondern ob die sinnvolle Eingabe vollständig in einer einzigen Zeile steht.

Weiterlesen