Mathematica ノートブックから環境変数を設定する必要があります。
Environment["VARIABLE"]
変数の値を与えます。しかし、変数を設定することも可能ですか?
Mathematica ノートブックから環境変数を設定する必要があります。
Environment["VARIABLE"]
変数の値を与えます。しかし、変数を設定することも可能ですか?
(私の知る限り)組み込み関数はありませんが、単に使用できます
Run["set VAR=VALUE"]
また
!set VAR=VALUE
代わりは。
編集: RunおよびRunThroughコマンドのドキュメントを参照してください。
RunまたはRunThroughで設定された環境変数はMathematicaカーネル自体には影響しませんが、同じRun
またはRunThrough
コマンド内で起動されたプロセスにのみ表示されます。
環境変数がMathematicaカーネル プロセスに表示される必要がある場合は、 Is there a way to change another process's environment variables?に対する受け入れられた回答で説明されている gdb ベースのハックを使用してください。Mac OS X で使用できます:
SetEnvironment[var_String, value_String] := Module[{valueEscaped, cmd},
valueEscaped = StringTake[ToString[CForm[value]], {2, -2}];
cmd = "call (int) putenv (\"" <> var <> "=" <> valueEscaped <> "\")";
Put[OutputForm[cmd], "!gdb -n \"" <> First[$CommandLine] <> "\" " <> ToString[$ProcessID ]]
]
Mathematica Putコマンドを使用してgdbを起動し、Mathematica カーネル プロセスにアタッチします。次に gdb コマンドが stdin の gdb に送信され、 putenvcall (int) putenv ("var=value")
で環境変数が設定されます。
警告: Mac OS X では、 Xcode 開発者ツールがインストールされている場合にのみ gdb を使用できます。
外部コマンドを正しく実行する前に、これを行うと思いますか? 代わりに、evn 変数を一時的に設定する "VARNAME=value; your_original_external_command" を実行してみませんか。