好的,我需要从Lua脚本中确定系统的操作系统,但Lua本身没有API,所以我使用os.getenv()和查询环境变量。在Windows上,检查环境变量“OS”给出了系统操作系统的名称,但是是否存在可以检查的Windows和大多数Unix版本上存在的变量?
解决方法
在Unix系统上,尝试os.capture’uname’,其中os.capture定义如下:
function os.capture(cmd,raw) local f = assert(io.popen(cmd,'r')) local s = assert(f:read('*a')) f:close() if raw then return s end s = string.gsub(s,'^%s+','') s = string.gsub(s,'%s+$','[\n\r]+',' ') return s end
这将有助于所有口味的unix和Mac OSX。如果失败,您可能在Windows系统上?或者检查os.getenv’HOME’。