这可能吗?我终于决定开始建立我的个人.NET开发环境,以更接近地模仿我将如何建立* NIX开发环境,这意味着认真学习Powershell。如何在PowerShell中捕获信号?
我目前正在编写一个函数,通过文件系统递归,设置工作目录,因为它为了构建的东西。让我困扰的一件事是,如果我按Ctrl + C退出该功能,则无论脚本最后一次出现在哪里,都会使我无法工作。我试过设置一个trap
块,它在运行时将目录更改为起始点,但这似乎只是针对Exception而设置(并触发)。
如果这是在Unix中有根的语言,我会为SIGINT
设置一个信号处理程序,但在Powershell中找不到类似的搜索。放在我的.NET上限上,我想象着某种事件,我可以附加一个处理程序,如果我不得不猜测,这将是一个事件$host
,但我找不到任何规范文档System.Management.Automation.Internal.Host.InternalHostUserInterface
,没有什么轶事,我已经能够搜索有帮助。
也许我错过了一些完全明显的东西?
最后一个直接的解决方案来清理CTRL-C终止工作(: – Callahan 2013-08-19 12:50:48