Powershell支持“EXIT”關鍵字,它的范圍是基于作用域的,它可能比你想象的工作方式要不同。
讓我們來測試下這個函數:
復制代碼 代碼如下:
function test
{
'A'
exit
'B'
}
當你保存并調用腳本,你將得到:
復制代碼 代碼如下:
PS> C:\Users\Tobias\Documents\PowerShell\test12343.ps1
A
這時”exit”過早的結束了這個函數。可是當你沒有保存當前腳本或當你調用的是一個交互函數,你整個Powershell宿主將關閉。
“Exit”結束當前調用的腳本,不僅僅是函數。倘若你把它像下面那樣保存到腳本,你也許會有意外的發現:
復制代碼 代碼如下:
function test
{
'A'
exit
'B'
}
'Start'
test
'Stop'
現在結果像這樣:
復制代碼 代碼如下:
PS> C:\Users\Tobias\Documents\PowerShell\test12343.ps1
Start
A
請注意,代碼“Stop”沒有執行。“Exit”結束了自身函數并且停止了作用域后續的執行。如果調用交互函數為什么不會關閉Powershell呢?(這是因為,你調用的作用域宿主是它自己)。
所以該怎么使用“exit”?你可以在腳本工作時設置一個錯誤等級數。這個等級數能從調用中獲得。所以如果你創建一個Powershell計劃任務,或通過Powershell.exe執行批處理文件,這時你在“Exit”后指定的不同數字將變成你腳本外的退出代碼就如同你批處理中的%ERRORLEVEL%一樣。
您可能感興趣的文章:- 惡意網站4255.biz的完美解決辦法
- 使用UART與PC通信實現msp430g2553單片機超聲波測距示例
- Powershell的break、continue和return簡單總結
- PowerShell中使用return語句退出函數例子
- PHP連接MSSQL時nvarchar字段長度被截斷為255的解決方法
- exit(-1)或者return(-1)shell得到的退出碼為什么是255