環境変数を参照する場合は os.getenv
が使えるが、設定するための os.setenv
相当のものはない。
が、os.execute
で自分自身を呼び出せば、無理やり設定することも可能だ(ただし、起動時のみ)
--- LANG=C を設定したい時: if os.getenv("LANG") ~= "C" then if string.match(os.getenv("OS") or "","^Windows") then os.execute('set "LANG=C" & lua "' .. arg[0] .. '"') else os.execute('LANG=C ; export LANG ; lua "' .. arg[0] .. '"') end os.exit(0) end print("LANG=" .. (os.getenv("LANG") or "null"))
まぁ、普通は Lua を呼び出すホスト側で setenv 相当の機能をつけるものだけどね
(nyagos-Lua には nyagos.env["変数名"]
が代入・参照両方できる)