概要
wolfram
wolfram - actkey をアクティベートする
wolfram - スクリプト file
wolfram - initcode を実行する
説明
wolfram
は,スタンドアロンのWolfram言語カーネルをオペレーティングシステムのコンソールかシェルで実行する.コンソールベースのカーネルセッションは通常,入力をから読み取り,式を評価して,結果をに表示する.入力と出力は,標準のシェル構造を使ってリダイレクトすることができる.システムによっては,wolfram
とWolframKernel
は同じプログラムである.
オプション
ライセンスのオプション
-activate actkey
— アクティベーションを行うか確かめるかして終了する.
-licenseid
— $LicenseIDの値を表示して終了する.
-licenseinfo
— $LicenseIDの値だけでなく関連情報も表示して終了する.
-lmverbose
— MathLMとのインタラクションについての情報を標準エラーに表示する.
起動のオプション
-initfile file
— 初期化 でコマンドを実行する.
-noinit
— 標準的な場所から初期化ファイルを読み取らない.
実行モードのオプション
-script file
— スクリプトモードでコマンドを から実行する.
-noprompt
— バナーやIn[]とOut[]のプロンプトを表示したり,起動エラーのためにユーザに入力を要求(バッチスクリプトに有用)したりしない.
-rawterm
— ダム端末を想定し,カーソルキーでのナビゲーションを無効にする.
ユーティリティのオプション
-machineid
— $MachineIDの値を表示し終了する.
-machineinfo
— $MachineNameと$MachineIDをタブで区切って表示し終了する.
詳細
Wolfram言語スクリプト
-scriptコマンドラインオプションが与えられた場合,カーネルはコマンドを一括して,あるいはスクリプトモードで から評価して終了する.
スクリプトモードでは,カーネルはバナーあるいはIn[]やOut[]のラベルは表示せず,PageWidthオプションを事実上Infinityに設定して,すべての出力をInputFormで生成する.
スクリプトモードでは,標準の入出力はリダイレクトされないので,入出力は他のプロセスとともにパイプで使える.
スクリプトモードでは,「#!」の文字でファイルが始まる場合,カーネルはその第1行を無視する.
ライセンスのオプション
パスワードファイルが-pwfile
を使って指定される場合には,そのパスワードがまず試される.有効なパスワードが見付からない場合には,標準のシステムの場所にあるパスワードファイルが試される.
-activate
actkey では,$ActivationKeyの形式のキーがオンラインでアクティベーションを行い,キーを確かめ,インターネットを通してWolfram製品のアクティベーションサーバに接続することによって,最新のパスワードをダウンロードする."$ActivationKey password"の形式のキーは,インターネットにアクセスせずにオフラインでアクティベーションを行う.どちらの場合もアクティベーションが成功した場合にはゼロが返され,それ以外の場合には非零の値が返される.
オプション-licenseinfo
は,$LicenseIDの値,そのライセンスで使用可能なWolfram言語プロセスの最大数,使用可能なプロセスの数をタブで区切って表示する.有効なライセンスが見付からない場合には,3つのフィールドすべてにゼロが表示され,非零の終了ステータスが返される.
起動と終了
カーネルは環境変数の値を読み取り,その値を任意のコマンドライン引数に加える.
Wolfram言語変数$IgnoreEOFがTrueに設定されていない限り,カーネルはファイル終了文字列を受け取ったときに終了する.カーネルはコマンドQuitを与えられると常に終了する.
-noprompt
が与えられると,変数$BatchOutputはTrueに設定される.起動の際にInとOutのラベルとバナーを省略するのに加えて,Wolfram言語は,PageWidthオプションを事実上Infinityに設定して,すべての出力をInputFormで生成する.
ライセンスその他の問題でカーネルが起動できない場合には,カーネルは非零の終了コードを返す.Exit[n]を使って別の値を返すのでない限り,通常カーネルはゼロの終了コードを終了時に返す.
-wstp
が与えられると,WSOpenArgcArgvが理解する任意のWSTPオプションもコマンドラインで与えられることがある.
例題
インタラクティブな操作
Wolfram言語をインタラクティブな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]:=
インタラクティブなカーネルをカスタムの終了コードを使って終了する:
$ wolfram
Wolfram 14.1.0 Kernel for Mac OS X x86 (64‐bit)
Copyright 1988-2024 Wolfram Research, Inc.
In[1]:= Exit[5]
$ echo $?
5
終了コードをWindowsのcmd.exe
シェル内で確かめる:
> echo %ERRORLEVEL%
5
ファイルからのコード
明示的に表示された式だけを可視にして,Wolfram言語コードをファイルから評価する:
$ wolfram -script test.wl
Results: {4, x}
Wolfram言語コードをファイルから評価し,それぞれの出力を表示する:
$ 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]:=
バナーとin/outプロンプトを省略し,結果をInputFormにフォーマットする:
$ wolfram -noprompt < test.wl
4
x
"Results: "{4, x}
コマンドライン上での初期化
$ 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]:=
明示的なExit[]を加えることによって,-run
オプションを使って式を評価し終了することができる:
$ wolfram -run 'Print[\"Hello World\"];Exit[]'
Wolfram 14.1.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2024 Wolfram Research, Inc.
Hello World
ファイルからの初期化
custom_init.wl
を初期化ファイルの標準リストに加える:
$ wolfram -initfile custom_init.wl
$ wolfram -noinit
custom_init.wl
を唯一の初期化ファイルとして使う:
$ wolfram -noinit -initfile custom_init.wl
アクティベーション
アクティベーションキーを使って自動アクティベーションを行う:
$ wolfram -activate 1234-5678-ABCDEF
Automatic Web Activation received a password.
Creating password file entry in:
C:\Users\user\AppData\Roaming\Mathematica\Licensing\mathpass
ライセンス,プロセスの最大数,使用可能なプロセス(項目はタブで区切る)を確かめる:
$ wolfram -licenseinfo
L1234-5678 8 8
アクティベーションキーとパスワードを使って,オフラインでアクティベーションを行う:
$ 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
追加例題
$ wolfram -version
14.1.0 for Mac OS X x86 (64‐bit)
$MachineIDの値をチェックする;
$ wolfram -machineid
6202-11889-09929
$MachineNameと$MachineIDを,パスワードファイル項目のときのように,タブで区切って表示する:
$ wolfram -machineinfo
lap27 6202-11889-09929
カーネルが別のパスワードファイルを使って実行できるようにする:
$ 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]:=
$ wolfram -wstp -linkcreate
Link created on: mvg8t_shm
もう一つのセッションから,リンクに接続し,それをアクティベートして入力を消去する:
ファイル
$BaseDirectory/Kernel/ init.m | |
$UserBaseDirectory/Kernel/ init.m |
$BaseDirectory/Licensing/mathpass | |
$UserBaseDirectory/Licensing/mathpass | |
$InstallationDirectory/Configuration/Licensing/mathpass |
WOLFRAM言語の変数
$ActivationKey
— wolfram
が使う完全なアクティベーションキー.
$BatchOutput
— -noprompt
がコマンドライン上で与えられるかどうか.
$CommandLine
— 使用された完全なコマンドラインを与える文字列のリスト.
$Epilog
— カーネルの終了時に実行するコマンド.
$IgnoreEOF
— ファイル終了の文字が与えられたときでもwolfram
を続行するかどうか.
$MachineID
— wolfram
が実行されているホストの一意的な識別コード.
$MachineName
— wolfram
が実行されているホストの名前.
$PasswordFile
— wolfram
のアクティベーションに成功したパスワードファイルへのパス.
環境変数
WOLFRAMINIT
— WolframKernel
の呼出しのたびに追加される追加の引数.
MATHKERNELINIT
— WOLFRAMINIT
が定義されていない場合に読み取られるレガシー変数.
WOLFRAM_BASE
— $BaseDirectoryの値に使うパス.
WOLFRAM_USERBASE
— $UserBaseDirectoryの値に使うパス.