SYNOPSIS
wolfram
wolfram -activate actkey
wolfram -script file
wolfram -run initcode
DESCRIPTION
wolfram
runs the standalone Wolfram Language kernel in an operating system console or shell. A console-based kernel session normally reads input from , evaluates the expression and prints the result to . Input and output can be redirected using standard shell mechanisms. On some systems, wolfram
and WolframKernel
are the same program.
OPTIONS
OPTIONS
Licensing Options
-activate actkey
— Perform or verify activation and exit.
-licenseid
— Display the value of $LicenseID and exit.
-licenseinfo
— Display the value of $LicenseID as well as related information and exit.
-lmverbose
— Print information about interactions with MathLM to standard error.
-pwfile file
— Read the passwords from .
Startup Options
-initfile file
— Execute the commands in the initialization .
-noinit
— Do not read initialization files from standard locations.
-run cmd
— Run the command on startup.
Execution Mode Options
-script file
— Execute the commands from the in script mode.
-noprompt
— Do not print banner or In[] and Out[] prompts or ask for user input due to startup errors (useful for batch scripts).
-rawterm
— Assume a dumb terminal and disable cursor-key navigation.
-wstp
— Communicate only via WSTP.
Utility Options
-machineid
— Display the value of $MachineID and exit.
-machineinfo
— Display $MachineName and $MachineID, separated by tabs, then exit.
DETAILS
DETAILS
Wolfram Language Scripts
If the -script command-line option is given, the kernel evaluates commands from the in a batch, or script, mode and then terminates.
In script mode, the kernel prints no banner and no In[] or Out[] labels, and generates all output in InputForm, with the PageWidth option effectively set to Infinity.
In script mode, the standard input and output are not redirected, so that the input and output can be used in a pipe with other processes.
In script mode, the kernel ignores the first line of the file if it starts with the characters "#!".
Licensing Options
If a password file is specified using -pwfile
, its passwords are tried first. If no valid passwords are found, password files in standard system locations are tried.
In -activate
actkey, a key of the form $ActivationKey will perform online activation, verifying the key and downloading the latest password by contacting the Wolfram product activation server via the internet. A key of the form "$ActivationKey password" will perform offline activation without using internet access. In either case, zero is returned if activation is successful and a nonzero value otherwise.
The option -licenseinfo
prints the value of $LicenseID, the maximum number of allowed Wolfram Language processes for that license and the number of available processes, separated by tabs. If no valid license is found, zeros are printed for all three fields and a nonzero exit status is returned.
Startup and Shutdown
The kernel will read the value of the environment variable and append its value to any command-line arguments.
Unless the Wolfram Language variable $IgnoreEOF is set to True, the kernel will exit when it receives an end-of-file character sequence. The kernel will always exit when given the command Quit.
When -noprompt
is given, the variable $BatchOutput is set to True. In addition to omitting In[] and Out[] labels and the banner when it starts up, the Wolfram Language generates all output in InputForm, with the PageWidth option effectively set to Infinity.
The kernel will return a nonzero exit code if it cannot be started due to licensing or other problems. It will typically return a zero exit code upon termination, unless Exit[n] is used to return another value.
When -wstp
is given, any general WSTP option understood by WSOpenArgcArgv may be given on the command line as well.
EXAMPLES
Interactive Operation
Run the Wolfram Language in an interactive REPL:
$ wolfram
Wolfram 14.1.0 Kernel for Mac OS X x86 (64‐bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:= 2+2
Out[1]= 4
In[2]:=
Exit an interactive kernel with a custom exit code:
$ wolfram
Wolfram 14.1.0 Kernel for Mac OS X x86 (64‐bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:= Exit[5]
Verify the exit code in a Unix-style shell:
$ echo $?
5
Verify the exit code in Windows' cmd.exe
shell:
> echo %ERRORLEVEL%
5
Code from a File
Evaluate Wolfram Language code from a file, with only explicitly printed expressions visible:
$ wolfram -script test.wl
Results: {4, x}
Evaluate Wolfram Language code from a file, printing each output:
$ wolfram < test.wl
Wolfram 14.1.0 Kernel for Mac OS X x86 (64‐bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
Out[1]= 4
In[2]:=
Out[2]= x
In[3]:= Results: {4, x}
In[4]:=
Omit the banner and in/out prompts, and format the results in InputForm:
$ wolfram -noprompt < test.wl
4
x
"Results: "{4, x}
Initialization on the Command Line
Use the -run
option to set a variable on startup:
$ wolfram -run 'AppendTo[$Path, "/favorite/path"]'
Wolfram 14.1.0 Kernel for Mac OS X ARM (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:= Last[$Path]
Out[1]= /favorite/path
In[2]:=
By adding an explicit Exit[], the -run
option can be used to evaluate an expression and exit:
$ wolfram -run 'Print[\"Hello World\"];Exit[]'
Wolfram 14.1.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
Hello World
Initialization from a File
Append custom_init.wl
to the standard list of initialization files:
$ wolfram -initfile custom_init.wl
Avoid loading any initialization files:
$ wolfram -noinit
Use custom_init.wl
as the only initialization file:
$ wolfram -noinit -initfile custom_init.wl
Activation
Perform automatic activation using an activation key:
$ wolfram -activate 1234-5678-ABCDEF
Automatic Web Activation received a password.
Creating password file entry in:
C:\Users\user\AppData\Roaming\Mathematica\Licensing\mathpass
Verify the license, maximum number of processes and available processes (tab-separated):
$ wolfram -licenseinfo
L1234-5678 8 8
Perform offline activation with an activation key and password:
$ wolfram -activate "1234-5678-ABCDEF 1234-567-890:8,8,16,16::20190130"
Creating password file entry in:
C:\Users\user\AppData\Roaming\Mathematica\Licensing\mathpass
Additional Examples
Check the version of the installation:
$ wolfram -version
14.1.0 for Mac OS X x86 (64‐bit)
Check the value of $MachineID:
$ wolfram -machineid
6202-11889-09929
Print $MachineName and $MachineID, separated by tabs, as would go in a password file entry:
$ wolfram -machineinfo
lap27 6202-11889-09929
Allow the kernel to run using a different password file:
$ wolfram -pwfile "/path/to/mathpass"
Wolfram 14.1.0 Kernel for Mac OS X x86 (64‐bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:=
Start a kernel and create a WSTP link:
$ wolfram -wstp -linkcreate
Link created on: mvg8t_shm
From another session, connect to the link, activate it and clear the input:
Send an evaluation to the linked kernel and compare the result to the current kernel:
FILES
User initialization file locations:
$BaseDirectory/Kernel/ init.m | |
$UserBaseDirectory/Kernel/ init.m |
$BaseDirectory/Licensing/mathpass | |
$UserBaseDirectory/Licensing/mathpass | |
$InstallationDirectory/Configuration/Licensing/mathpass |
WOLFRAM LANGUAGE VARIABLES
$ActivationKey
— The complete activation key used by wolfram
.
$BatchOutput
— Whether -noprompt
has been given on the command line.
$CommandLine
— A list of strings giving the complete command line used.
$Epilog
— Command to execute on kernel exit.
$IgnoreEOF
— Whether wolfram
should continue even if given an end-of-file character.
$MachineID
— The unique identification code of host on which wolfram
is running.
$MachineName
— The name of the host on which wolfram
is running.
$PasswordFile
— The path to the password file that successfully activated wolfram
.
ENVIRONMENT VARIABLES
WOLFRAMINIT
— Additional arguments to append to every invocation of WolframKernel
.
MATHKERNELINIT
— Legacy variable that is read if WOLFRAMINIT
is not defined.
WOLFRAM_BASE
— The path to use for the value of $BaseDirectory.
WOLFRAM_USERBASE
— The path to use for the value of $UserBaseDirectory.