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
unsetenv(+Key).
Unsets the environment variable Key
shell(+Command)
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).
/bin/fish
Status = 0.
pid(-PID).
True iff PID is the process identification number of current Scryer Prolog instance.