luaでシェルコマンドを実行する方法は?
Luaでは、shellコマンドを実行するためにos.execute関数を使用することができます。os.execute関数は、実行するshellコマンドを含む文字列パラメータを受け取ります。実行結果は直接コンソールに表示されます。以下は例です:
os.execute("ls -l")
上記の例では、ls -lコマンドが実行され、その結果がコンソールに表示されます。os.execute関数はLuaプログラムをブロックし、コマンドが完了するまで次のコードが実行されません。コマンドの出力結果を取得したい場合は、io.popen関数を使用できます。以下は一つの例です:
local handle = io.popen("ls -l")
local result = handle:read(“*a”)
handle:close()
print(result)
上記の例では、io.popen関数はファイルハンドルを返し、そのハンドルを使用してコマンドの出力を読み取ることができます。handle:read(“*a”)を使用すると、すべての内容を読み取ることができ、最後にhandle:close()を使用してファイルハンドルを閉じることができます。これにより、コマンドの出力結果を変数resultに保存し、print関数で表示することができます。