#!/opt/Lua51/bin/lua -- Created by jiaqiang.ye@lnxall.com -- Fetach version string from file -- 2025/08/07 package.cpath = "/opt/Lua51/lib/lua/?.so;/opt/Lua51/lib/lua/loadall.so" package.path = "/opt/Lua51/share/lua/?.lua;/opt/Lua51/share/lua/?/init.lua;/opt/Lua51/lib/lua/?.lua;/opt/Lua51/lib/lua/?/init.lua" local invoker = require "invoker" local gfmt = string.format local g_verfile = arg[1] local g_verdeft = arg[2] local function version_default(eval) if type(g_verdeft) ~= "string" or #g_verdeft == 0 or not string.match(g_verdeft, "^[%w%W%.%-_]+$") then g_verdeft = "0.1.0" end io.stdout:write(g_verdeft) io.stdout:flush() os.exit(eval or 0) end local function version_lnxget() if type(g_verfile) ~= "string" then version_default(1) end if string.len(g_verfile) == 0 then version_default(2) end if invoker.statfile(g_verfile) ~= "regular" then version_default(3) end local ver = invoker.readfile(g_verfile, invoker.TRIMEND) if not ver or string.len(ver) == 0 then version_default(4) end if string.match(ver, "^[%w%W%.%-_]+$") then io.stdout:write(ver) io.stdout:flush() os.exit(0) end io.stderr:write(gfmt("Error, invalid version string: %s\n", ver)) io.stderr:flush() version_default(5) end version_lnxget()