Nächste: Interaktiv mit Guix arbeiten, Vorige: G-Ausdrücke, Nach oben: Programmierschnittstelle [Inhalt][Index]
guix repl
aufrufenDer Befehl guix repl
erleichtert es, Guix von Guile aus zu
programmieren. Dazu startet er eine Guile-REPL (Read-Eval-Print Loop,
kurz REPL, deutsch Lese-Auswerten-Schreiben-Schleife) zur interaktiven
Programmierung (siehe Using Guile Interactively in Referenzhandbuch zu GNU Guile) oder er führt Guile-Skripts aus (siehe
Running Guile Scripts in Referenzhandbuch zu GNU Guile). Im
Vergleich dazu, einfach den Befehl guile
aufzurufen, garantiert
guix repl
, dass alle Guix-Module und deren Abhängigkeiten im
Suchpfad verfügbar sind.
Die allgemeine Syntax lautet:
guix repl Optionen [Datei Argumente]
Wird ein Datei-Argument angegeben, wird die angegebene Datei als Guile-Skript ausgeführt.
guix repl my-script.scm
Um Argumente an das Skript zu übergeben, geben Sie davor --
an, damit
Sie nicht als Argumente an guix repl
verstanden werden:
guix repl -- my-script.scm --input=foo.txt
Wenn Sie möchten, dass ein Skript direkt aus der Shell heraus ausgeführt werden kann und diejenige ausführbare Datei von Guix benutzt wird, die sich im Suchpfad des Benutzers befindet, dann fügen Sie die folgenden zwei Zeilen ganz oben ins Skript ein.
#!/usr/bin/env -S guix repl --
!#
Ohne einen Dateinamen als Argument wird eine Guile-REPL gestartet, so dass man Guix interaktiv benutzen kann (siehe Interaktiv mit Guix arbeiten):
$ guix repl scheme@(guile-user)> ,use (gnu packages base) scheme@(guile-user)> coreutils $1 = #<package coreutils@8.29 gnu/packages/base.scm:327 3e28300>
guix repl
implementiert zusätzlich ein einfaches maschinenlesbares
Protokoll für die REPL, das von (guix inferior)
benutzt wird, um mit
Untergeordneten zu interagieren, also mit getrennten Prozessen einer
womöglich anderen Version von Guix.
Folgende Optionen gibt es:
--type=Typ
-t Typ
Startet eine REPL des angegebenen Typs, der einer der Folgenden sein darf:
guile
Die Voreinstellung, mit der eine normale, voll funktionsfähige Guile-REPL gestartet wird.
machine
Startet eine REPL, die ein maschinenlesbares Protokoll benutzt. Dieses
Protokoll wird vom Modul (guix inferior)
gesprochen.
--listen=Endpunkt
Der Vorgabe nach würde guix repl
von der Standardeingabe lesen und
auf die Standardausgabe schreiben. Wird diese Befehlszeilenoption angegeben,
lauscht die REPL stattdessen auf dem Endpunkt auf Verbindungen. Hier
sind Beispiele gültiger Befehlszeilenoptionen:
--listen=tcp:37146
Verbindungen mit dem „localhost“ auf Port 37146 akzeptieren.
--listen=unix:/tmp/socket
Verbindungen zum Unix-Socket /tmp/socket akzeptieren.
--load-path=Verzeichnis
-L Verzeichnis
Das Verzeichnis vorne an den Suchpfad für Paketmodule anfügen (siehe Paketmodule).
Damit können Nutzer dafür sorgen, dass ihre eigenen selbstdefinierten Pakete für Skript oder REPL sichtbar sind.
-q
Das Laden der ~/.guile-Datei unterdrücken. Nach Voreinstellung würde
diese Konfigurationsdatei beim Erzeugen einer REPL für guile
geladen.
Nächste: Interaktiv mit Guix arbeiten, Vorige: G-Ausdrücke, Nach oben: Programmierschnittstelle [Inhalt][Index]