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

