Scryer Prolog documentation

Module os

:- use_module(library(os)).

Predicates for reasoning about the operating system (OS) environment.

This includes predicates about environment variables, calls to shell and finding out the PID of the running system.

getenv(+Key, -Value).

True iff Value contains the value of the environment variable Key. Example:

?- getenv("LANG", Ls).
   Ls = "en_US.UTF-8".

setenv(+Key, +Value).

Sets the environment variable Key to Value


Unsets the environment variable Key


Equivalent to shell(Command, 0).

shell(+Command, -Status).

True iff executes Command in a shell of the operating system and the exit code is Status. Keep in mind the shell syntax is dependant on the operating system, so it should be used very carefully.

Example (using Linux and fish shell):

?- shell("echo $SHELL", Status).
   Status = 0.


True iff PID is the process identification number of current Scryer Prolog instance.