Luaのローカル変数から次を読み取ることは可能ですか?
local t = os.execute("echo 'test'")
print(t)
私はこれを達成したいだけです:ox.execute
を介して実行され、任意の値を返すものは何でも、Luaで使用したいと思います。たとえば、echo 'test'
はbashコマンドでtest
を出力します行-戻り値(この場合はtest
)をLuaローカル変数に取得することは可能ですか?
代わりに io.popen()
を使用できます。これは、コマンドの出力を読み取るために使用できるファイルハンドルを返します。次のようなものが機能する場合があります。
local handle = io.popen(command)
local result = handle:read("*a")
handle:close()
これには、コマンドが出力する末尾の改行(ある場合)が含まれることに注意してください。
function GetFiles(mask)
local files = {}
local tmpfile = '/tmp/stmp.txt'
os.execute('ls -1 '..mask..' > '..tmpfile)
local f = io.open(tmpfile)
if not f then return files end
local k = 1
for line in f:lines() do
files[k] = line
k = k + 1
end
f:close()
return files
end