僅限於Lua的Windows嵌入式實例 - 共享環境 - 對語言的最新更改。在Lua 5.3腳本中設置shell環境變量
Lua腳本的結果需要提供給嵌入式Lua 5.3解釋器的Windows主機應用程序。大多數情況下,我們會將結果寫入文本文件或剪貼板,並讓主機在腳本完成後讀取這些結果。另一種方法是在當前宿主和解釋器共享的環境中設置一個envar(環境變量)。它會消除fileIO和一些字符串複製操作。
Lua有os.getenv()
但是沒有os.setenv()
因爲後者不是ANSI-C的一部分。聲稱能夠更改環境變量的外部模塊似乎在_G
中更改了本地副本,而不是真正的主機當前環境。 (因爲我沒有閱讀所有的資料,所以我在這裏以他們的封面來判斷這些書籍。)此外,自5.3版本以來,全球變量_G
不再存在,我假定這些模塊中的大多數不會與當前版本的Lua。
問題:哪個模塊允許在當前環境中更改變量並且與Lua 5.3兼容?
[如何使用lua設置bash環境變量](http://stackoverflow.com/questions/38907930/how-to-set-bash-environment-variables-using-lua) –
第一行總結我的問題有四點不同。 – user123365
可以嘗試我的https://github.com/moteus/lua-environ。但是它不允許改變一些外國程序的環境。僅適用於當前進程。 – moteus