前言#
今天來(lái)看一個(gè)短小精悍而又強(qiáng)大的lua函數(shù)锋谐,這個(gè)函數(shù)雖然只有短短的幾個(gè)字母遍尺,卻涉及到了許多系統(tǒng)級(jí)的函數(shù)調(diào)用,使用方法也相當(dāng)簡(jiǎn)單涮拗,接下來(lái)我們來(lái)看看例子乾戏。
內(nèi)容#
os.execute##
- 原型:os.execute ([command])
- 解釋?zhuān)哼@個(gè)函數(shù)相當(dāng)于C語(yǔ)言中的
system()
,我們可以看到這個(gè)函數(shù)有一個(gè)缺省的參數(shù)command
三热,這個(gè)函數(shù)就是解析command
再來(lái)通過(guò)的系統(tǒng)來(lái)調(diào)用解析的結(jié)果鼓择,它會(huì)返回一個(gè)依賴(lài)于操作系統(tǒng)的狀態(tài)碼。當(dāng)參數(shù)缺省時(shí)就漾,如果操作系統(tǒng)可以調(diào)用解析參數(shù)則返回非0的數(shù)呐能,否則返回0。
Uasge##
- 我們來(lái)新建一個(gè)文件命名為executetest.lua然后編寫(xiě)如下代碼:
local ret = os.execute();
if ret ~= 0 then
print("the system shell is available, ret = "..ret.."\n\n")
else
print("the system shell is not available, ret = "..ret.."\n\n")
end
os.execute("color 02");
print("this is a test for os.execute\n");
local copyret = os.execute("copy " .."luatest.lua".. ",".."luatest.lua.bak")
print("copyret = "..copyret)
os.execute("pause");
- 運(yùn)行結(jié)果
總結(jié)#
- 由示例可知抑堡,
os.execute()
使用真的非常方便摆出,例如下面的兩者是等價(jià)的Lua:os.execute ("pause")
<==>c語(yǔ)言:system("pause")
朗徊。 - 我們也可以使用
os.execute("color 02");
來(lái)將命令提示行的顏色由原來(lái)的白色改為綠色,注意這里改變的是所有的顯示結(jié)果偎漫,而不是執(zhí)行命令行之后的結(jié)果荣倾。