当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 退出命令及其朋友

作者:精品下载站 日期:2024-12-14 13:08:43 浏览:16 分类:玩电脑

如何使用 PowerShell 退出命令及其朋友


您是否曾经想过,“在 PowerShell 中终止脚本或退出命令的最佳方法是什么?” PowerShell 会话是否会使用 PowerShell exit 命令关闭?如何返回自定义退出代码?好吧,你是幸运的!

在本指南中,您将获得这些问题以及更多问题的答案。了解退出 PowerShell 脚本或会话的所有方法。

让我们准备好终止一些 PowerShell 会话和脚本!

先决条件

要继续操作,请确保您的计算机上安装了 Windows PowerShell 或 PowerShell Core。本文中的示例将使用 PowerShell 7.1.4。

使用 PowerShell Exit 命令终止控制台和脚本

让我们深入研究本教程,首先介绍一下 exit 关键字,它是 PowerShell 中的众多保留字之一。保留字是 PowerShell 中内置的一组字符,用于执行某些操作。对于 exit 关键字,操作是使 PowerShell 退出 PowerShell 会话。

让我们来练习!打开 PowerShell 控制台会话,键入 exit,然后按 Enter 键。 PowerShell 控制台将立即关闭。

该关键字还可以退出脚本而不是控制台会话。在脚本中包含 exit 关键字和 exit 仅终止脚本,而不终止脚本运行的整个控制台会话。

将以下代码复制并粘贴到记事本中,并将脚本另存为 test.ps1C:\Temp 目录。通过运行命令 .\text.ps1 来运行 PowerShell 脚本文件,如下面的屏幕截图所示。请注意,PowerShell 不是关闭会话,而是终止脚本并将控制返回到当前 PowerShell 会话的提示符。

# test.ps1
Write-Host "Quick! Read this before the PowerShell session closes!!"
Start-Sleep -Seconds 2
Exit

[玩转系统] 如何使用 PowerShell 退出命令及其朋友

接收和提供带有退出代码的反馈

当您需要脚本或函数来运行某些代码并退出时,exit 命令非常有用。但是您没有收到任何指示脚本是否成功运行。

当 PowerShell 运行脚本中的最后一个命令时,它会将最后一个命令的退出代码存储在 $LASTEXITCODE 变量中。

有两个默认退出代码:

  • 0 - 表示成功:正常终止
  • 1 - 意味着失败:未接住的投掷

PowerShell 不限制您使用 01 作为退出代码。 PowerShell 允许您返回自定义退出代码,只要它们是整数即可。

退出代码的值范围取决于平台。在 Windows 上,允许任何 32 位有符号整数。在 Unix 上,只允许使用 8 位正整数。

要使用自定义退出代码退出 PowerShell,您可以提供退出代码作为 exit 关键字的参数。

将以下代码复制并粘贴到现有的 test.ps1 文件中,然后使用命令 .\Test.ps1 运行脚本。检查 $LASTEXITCODE 变量的内容。通过告诉 PowerShell 使用 55 退出代码退出,它就这样做了,如下所示。

Function foo {
    Write-Output "This foo function will be shown"
    Exit 55 # < -- Using custom exit code
}

foo

[玩转系统] 如何使用 PowerShell 退出命令及其朋友

用 Break 打破循环

有时退出行为是不可接受的:比如退出函数。让我们看看 break 关键字有何帮助。

break 关键字使 PowerShell 停止循环。在中断之后,代码在下一次迭代中继续执行。

中断在 PowerShell 循环(例如 foreach、while、do-while 和 switch 语句)中非常有用,因为您可以控制代码在代码完成之前停止的位置。

让我们练习一下跳出循环。下面您可以看到带有 for 循环的代码片段。如果没有其中的 break,for 循环将迭代十次。当迭代器等于 8 时,将触发 break 关键字。一旦 PowerShell 找到 break 关键字,它就会停止循环。

for($i=1; $i -le 10; $i++) {
	if($i -eq 8) { break }
	$i
}

您可以在下面看到,当 i 等于 8 时,PowerShell 停止循环。代码永远不会到达 9。您已成功跳出 for 循环。

[玩转系统] 如何使用 PowerShell 退出命令及其朋友

使用 Return 重定向代码执行

return 关键字与之前的关键字略有不同,因为它不会退出或中断命令。该关键字重定向代码执行。它将执行返回到其调用,同时允许您返回值。请注意,不仅仅是整数,例如 exit。您可以返回任何类型!这些行为使得 return 关键字比之前的关键字更加通用。

让我们通过一个例子来看看它的实际效果:构建一个单词配对函数。将以下代码复制到您的 PowerShell 会话中:

function WordPairing ($a,$b) {

	return "$a" + "$b" # <-- Combining two words into one word

}

$output = WordPairing taco cat

Write-Output "$output is a strange pairing of words."

请注意输出中函数返回的值。

[玩转系统] 如何使用 PowerShell 退出命令及其朋友

您将 WordPairing 函数生成的 $output 重定向回调用 $output 的位置。

结论

在本指南中,您了解了终止 PowerShell 会话和脚本的不同方法。每种方法都依赖于特定的关键字。每个关键字都有特定的用例。如果使用得当,这些关键字中的每一个都可以让您对脚本的功能进行巨大的控制。

现在您已经了解了退出 PowerShell 会话的不同方法,您计划如何利用这些新发现的知识改进您的脚本?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯