了解Powershell中的Exit函數(shù)
Powershell支持“EXIT”關(guān)鍵字,它的范圍是基于作用域的,它可能比你想象的工作方式要不同。
讓我們來測試下這個函數(shù):
{
'A'
exit
'B'
}
當(dāng)你保存并調(diào)用腳本,你將得到:
PS> C:\Users\Tobias\Documents\PowerShell\test12343.ps1
A
這時”exit”過早的結(jié)束了這個函數(shù)??墒钱?dāng)你沒有保存當(dāng)前腳本或當(dāng)你調(diào)用的是一個交互函數(shù),你整個Powershell宿主將關(guān)閉。
“Exit”結(jié)束當(dāng)前調(diào)用的腳本,不僅僅是函數(shù)。倘若你把它像下面那樣保存到腳本,你也許會有意外的發(fā)現(xiàn):
function test
{
'A'
exit
'B'
}
'Start'
test
'Stop'
現(xiàn)在結(jié)果像這樣:
PS<> C:\Users\Tobias\Documents\PowerShell\test12343.ps1
Start
A
請注意,代碼“Stop”沒有執(zhí)行?!癊xit”結(jié)束了自身函數(shù)并且停止了作用域后續(xù)的執(zhí)行。如果調(diào)用交互函數(shù)為什么不會關(guān)閉Powershell呢?(這是因?yàn)?,你調(diào)用的作用域宿主是它自己)。
所以該怎么使用“exit”?你可以在腳本工作時設(shè)置一個錯誤等級數(shù)。這個等級數(shù)能從調(diào)用中獲得。所以如果你創(chuàng)建一個Powershell計(jì)劃任務(wù),或通過Powershell.exe執(zhí)行批處理文件,這時你在“Exit”后指定的不同數(shù)字將變成你腳本外的退出代碼就如同你批處理中的%ERRORLEVEL%一樣。
相關(guān)文章
Windows Powershell Do While 循環(huán)
Do和While可能產(chǎn)生死循環(huán),為了防止死循環(huán)的發(fā)生,你必須確切的指定循環(huán)終止的條件。指定了循環(huán)終止的條件后,一旦條件不滿足就會退出循環(huán)。2014-10-10
PowerShell中執(zhí)行Javascript的方法示例
這篇文章主要介紹了PowerShell中執(zhí)行Javascript的方法示例,特殊場景下可能會用到這個技巧,需要的朋友可以參考下2014-07-07
PowerShell小技巧之使用New-Module命令動態(tài)創(chuàng)建對象
這篇文章主要介紹了在PowerShell中使用New-Module命令動態(tài)創(chuàng)建對象,比New-Object高大上很多了吧2014-09-09
Windows Powershell IF-ELSEIF-ELSE 語句
作為條件判斷,if語句是各大語言都在使用的,當(dāng)然powershell也不例外,今天我們就來看下IF-ELSEIF-ELSE 語句2014-10-10
Powershell創(chuàng)建簡潔的HTML報(bào)告例子
這篇文章主要介紹了Powershell創(chuàng)建簡潔的HTML報(bào)告例子,本文先是講解了實(shí)現(xiàn)的步驟,然后給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-11-11

