从cygwin运行时如何结束Powershell脚本

问题描述

|| 我有一个Powershell .ps脚本,该脚本在Windows计算机中执行一些基本的工作。我通过ssh-ing到Windows计算机来调用此脚本。 Windows计算机上安装了cygwin Open-SSh。 问题:脚本已执行,但不返回SSH会话。 如何使powershell脚本结束并将控制权返回给SSH会话?     

解决方法

        尼斯和简单的解决方案在这里: https://serverfault.com/questions/266535/how-to-run-a-powershell-script-from-cygwin-ssh-session#comment277301_266699 回声\“ \\ n \” | powershell .... etc .....     ,        回答可能有点晚,但是在安装cygwin sshd以从Linux Web服务器在citrix服务器上运行powershell命令之后,我们遇到了类似的问题。 我们最终落在此页面上: http://epeleg.blogspot.com/2010/06/solution-to-powershell-never-exists.html 这促使我们使用其中的powershell命令以及以下语法创建一个批处理文件:
%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -Noninteractive -Command \"& { \"your powershell script and arguments here\" }\"<NUL
我们只运行批处理文件,而不是直接调用powershell,如果批处理文件中需要一个变量,则将%1用作变量。 最后的
my ($stdout,$stderr) = Net::SSH->new( \"user@host\" )->capture2( { timeout => $timeout },\"powershell -file $copied_ps1_file<NUL\");