Powershell命令行抛出

Powershell命令行抛出,powershell,Powershell,出于测试目的,我想创建一个总是崩溃的假进程 因为我正在使用Powershell来实现这一点,所以我想用一个命令运行另一个PS实例,该命令只会抛出一个异常抛出“test” 在为一项如此简单的任务绞尽脑汁几分钟后,我发现: powershell -command "& throw 'test'" 无法理解是否产生错误抛出,但: powershell -command "& { throw 'test' }" 抛出我想要的异常 有什么区别?为什么我需要在抛出的周围用花括号?在第一个

出于测试目的,我想创建一个总是崩溃的假进程

因为我正在使用Powershell来实现这一点,所以我想用一个命令运行另一个PS实例,该命令只会抛出一个异常抛出“test”

在为一项如此简单的任务绞尽脑汁几分钟后,我发现:

powershell -command "& throw 'test'"
无法理解是否产生错误抛出,但:

powershell -command "& { throw 'test' }"
抛出我想要的异常


有什么区别?为什么我需要在抛出的周围用花括号?

在第一个版本中,您试图调用一个名为throw的程序,因此它失败了

如果您只需执行以下操作,它实际上会工作得很好:

powershell -command "throw 'test'"

在第二个版本中,您使用大括号,因此表达式由&作为脚本块进行计算,而不是尝试调用程序。在第一个版本中,您尝试调用名为throw的程序,因此它失败

如果您只需执行以下操作,它实际上会工作得很好:

powershell -command "throw 'test'"
在第二个版本中,使用大括号,因此表达式作为脚本块进行计算,而不是试图调用程序