這篇文章主要介紹了了解Powershell中的Exit函數(shù),對exit的函數(shù)使用技巧上做了小結(jié),并用實例說明了exit函數(shù)的使用,需要的朋友可以參考下。
Powershell支持“EXIT”關(guān)鍵字,它的范圍是基于作用域的,它可能比你想象的工作方式要不同。
讓我們來測試下這個函數(shù):
代碼如下:
functiontest
{
'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):
代碼如下:
functiontest
{
'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呢?(這是因為,你調(diào)用的作用域宿主是它自己)。
所以該怎么使用“exit”?你可以在腳本工作時設(shè)置一個錯誤等級數(shù)。這個等級數(shù)能從調(diào)用中獲得。所以如果你創(chuàng)建一個Powershell計劃任務(wù),或通過Powershell.exe執(zhí)行批處理文件,這時你在“Exit”后指定的不同數(shù)字將變成你腳本外的退出代碼就如同你批處理中的%ERRORLEVEL%一樣。
更多信息請查看IT技術(shù)專欄