複数call
のsの間で持続する環境変数を設定することは可能ですか?
次のcall
ように、1つの一部である場合は問題ありません。
>> call/wait/shell {set a=1 & echo a is %a%}
a is 1
ただし、複数の呼び出し間で機能させる必要がありますが、そうではありません。
>> call/wait/shell {set b=2}
== 0
>> call/wait/shell {echo b is %b%}
b is %b%
== 0
使用している言語に関係なく、単純な機械的APIレベル(子プロセスから)では、親プロセスで環境変数を設定することはできません。
https://stackoverflow.com/a/263068/211160
SET-ENVを使用して、呼び出しプロセスで変数を設定できます。CALLによって作成された子プロセスは、それらを継承します。Linux上のR3-Alphaの場合:
>> set-env "FOO" "10"
>> call "echo $FOO"
10
== none
Windowsの赤:
>> set-env "FOO" "10"
>> call/shell/output "echo %FOO%" out: ""
== 0
>> out
== "10^/"
子プロセス呼び出し間で環境変数を保持する場合は、子プロセスが親に情報を返すプロトコルを設定して、次のCALLが継承するようにSET-ENVを変更できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加