[ Impressum ]

LiveCode Server als Kommandozeilen-Interpreter

www.Rozek.de > LiveCode Server > Installation as Command
Zwar ist der "LiveCode Server" [1] vor allem als CGI-Prozessor gedacht, man kann ihn jedoch recht einfach auch für Kommandozeilen-Anwendungen einsetzen.

Auf dieser Seite werden die dafür erforderlichen Schritte beschrieben.

Installation als Kommandozeilen-Prozessor

Die grundlegende "Installation" des "LiveCode Server" ist bereits in der "LiveCode Lesson" "How do I install LiveCode Server?" beschrieben:
  1. laden Sie das "LiveCode Server"-Paket für das von Ihnen eingesetzte Betriebssystem herunter und
  2. entpacken Sie das Paket.
Nach dem Entpacken werden Sie sehen, dass der "LiveCode Server" im Wesentlichen aus einem ausführbaren Programm ("livecode-server") sowie zwei Verzeichnissen mit zugehörigen Bibliotheken ("drivers" und "externals") besteht.

Im Prinzip kann der "LiveCode Server" jetzt bereits verwendet werden (die "LiveCode Lesson" erläutert, wie man dafür vorgeht). Allerdings wäre es für eine Verwendung als Interpreter von Kommandozeilen-Skripten sehr lästig, wenn man jedes Mal in das Verzeichnis mit dem "LiveCode Server" wechseln und vor dem Namen des eigentlichen Skriptes noch "livecode-server" schreiben müsste...

Glücklicherweise bieten Unix und Linux mithilfe der sogenannten "Shebang"-Zeile einen komfortablen Ausweg aus dieser Situation. Zunächst aber sollten Sie den "LiveCode Server" dafür aber in ein System-Verzeichnis verschieben:

sudo mv <LCServer-Verzeichnis>/* /usr/local/bin

Verschieben Sie also den Inhalt des entpackten "LiveCode Server"-Verzeichnisses nach /usr/local/bin. Da das Zielverzeichnis zum Betriebssystem gehört, müssen Sie das Kommando als Administrator ausführen (deshalb das sudo am Anfang).

Ausserdem sollten Sie in dem Verzeichnis /usr/local/bin noch ein (Shell-)Skript namens lc-server anlegen:

sudo cat > /usr/bin/env/lc-server << EOF
#!/usr/bin/env bash
livecode-server "$@" | tail -n +2
EOF

Dieses Skript sollte ausführbar sein:

sudo chmod +x /usr/bin/env/lc-server

Sobald dies geschehen ist, können Sie an den Anfang jedes "LiveCode Server"-Skriptes die Zeile

#!/usr/bin/env lc-server

schreiben. Dies ist die zuvor erwähnte "Shebang"-Zeile und muss unbedingt direkt am Anfang der Skript-Datei stehen.

Das in der "LiveCode Lesson" gezeigte Beispiel sähe damit wie folgt aus:

#!/usr/bin/env lc-server
<?lc
put "Hello World!" && the date && the time
?>

Ausserdem muss das Skript (nennen wir es - wie in der "LiveCode Lesson" vorgeschlagen - "myscript.lc") noch als ausführbar markiert werden:

chmod +x myscript.lc

Sobald dies geschehen ist, können Sie Ihr Skript von der Kommandozeile aus wie folgt aufrufen:

./myscript.lc

(die Zeichen "./" vor dem eigentlichen Dateinamen sollen sicherstellen, dass der Aufruf unabhängig von Ihren $PATH-Einstellungen funktioniert). Als Ergebnis sollten Sie eine Ausgabe der Form

Hello World! 1/26/14 8:34 AM

erhalten.

Das Skript lässt sich jetzt also ohne expliziten Hinweis auf den "LiveCode Server" ausführen. Das Dateinamen-Suffix ".lc" ist dabei vollkommen irrelevant - wichtig sind lediglich
  1. die "Shebang"-Zeile am Skript-Anfang (#!/usr/bin/env lc-server)
  2. die Ausführbarkeit der Skript-Datei (chmod +x <Skript-Datei>)
Mit diesem Trick können Sie ab sofort Kommandozeilen-Skripte in LiveCode erstellen!

Viel Spaß mit dem "LiveCode Server"!

Literaturhinweise

[1]
(RunRev Ltd.)
LiveCode | LiveCode Server Guide
Der LiveCode Server ist ein Interpreter für LiveCode-Skripte, der von der Kommandozeile aus gestartet wird (ohne grafische Benutzeroberfläche auskommt) und vor allem als CGI-Prozessor gedacht ist (auf diese Weise können Web-Seiten mit LiveCode bearbeitet werden - man muß also nicht mehr unbedingt PHP lernen).