2013-10-25 53 views
4

我无法在Cygwin rxvt或mintty终端中以交互方式运行PowerShell.exe。似乎任何使用/ dev/tty的会话?或/ dev/pts?伪终端设备。使用junky windows控制台设备/ dev/console或/ dev/cons的实例?将工作。来自Cygwin的交互式PowerShell

cygstart /bin/bash -li 

在糟糕的Windows命令提示符中启动控制台版本,这是唯一可以获得交互式PowerShell的地方。

Console

作品。 RXVT犯规: rxvt

也不mintty: mintty

我已经尝试了所有的echo -e | powershell.exepowershell.exe </dev/null

我假设当我看到这个#2回答他们正在使用控制台的.. 。或者我错过了什么?

Why I cannot run PowerShell 2 from Cygwin?似乎运行良好,刚刚获得powershell v3,当他想要v2 ...希望我有这个问题。


我已经开发了PowerShell的包装调用PowerShell脚本和命令从Cygwin的终端会话,但不能得到交互式选项工作(如果你给包装没有脚本或命令,那你想去的互动) 。有关包装脚本的信息,请参阅https://bitbucket.org/jbianchi/powershell/wiki/。它适用于大多数powershell.exe调用,甚至可以在ps1脚本的第一行中使用,就像“she-bang”一样。

+0

不禁想知道为什么地球上你会想这样做,而不是写一个shell脚本。我的意思是你已经在bash中,IMO比PowerShell更强大。从Cygwin Bash启动PowerShell就像从Eclipse启动VisualStudio一样。但我会反对。 –

+2

首先,我讨厌“你为什么需要这样做”的答案......你是否曾经寻找过解决问题的方法,找到解释相同问题的人,并通过回答看看其他人说“你为什么要想要那样做?“他/她的回答可能与您的回答相同或不相同,但您终于找到有人在谈论同一问题,“答案”是“您为什么要这样做”!哎呀!但是,好的,我会回答这个问题.... – johnnyB

+0

我有许多做vSphere/PowerCLI的东西,许多做WinAD调用(内置或Quest调用)的powershell脚本。我希望我的bash脚本循环遍历主机,以便能够调用powercli并在主机上设置vmWare属性,或者检查其作为GuestOS的报告或任何数量的事情。真正的答案:最好使用这些工具来完成工作不是最重要的吗? Ruby,python,bash,perl,awk,...为什么不使用powershell?如果PowerShell,为什么不给我一个交互式shell? – johnnyB

回答

1

我找到的解决方案是使用http://sergeybelous.com/(主站点)Proxy32proxywinconsole.exe程序。如果此程序位于路径中,我的poweshell.bash wrapper将调用它,这将使您可以与PowerShell交互操作。

+0

您的链接已损坏请尝试:[http://sergeybelous.com/SHELL-TERMINAL.html] – donothingsuccessfully

+1

更改了网站布局。看起来他正在改变网站。下载地址为http://www.sergeybelous.com/proxy/proxywinconsole.exe。固定链接指向主www根 – johnnyB

0

恐怕我不能回答你的问题,但也许我可以帮你再稍微用自己的方式与此:

我相信这是与此相关的问题,请在MinTTY Issue #56的讨论。 它详细介绍了cmd.exe shell应用程序的工作和交互方式,详细介绍了使用TTY抽象层的常见unix应用程序与Windows命令行应用程序的工作方式不同。

-2

脚本用于在Cygwin薄荷运行PowerShell的:

[email protected] $ cat pwrshl 
#!/usr/bin/bash if [[ ! -f "$1" ]] then 
     echo "Usage: $0 <PowerShellScriptFile>" 
     exit fi 

echo "\n" | powershell -Command "& {$(<$1)}" 
+0

这是一个怎样的答案?我的观点是,当你没有给它一个脚本时,它需要进行互动,这是不起作用的部分。你的脚本检查是否有一个参数,不运行W/O ...你错过了整点!阅读问题并注意它说“互动”! – johnnyB

0

今天,在Cygwin的bash的提示符下键入PowerShell的只是工作。

+0

同意。我认为,自从Win10和PS5.0以及对控制台的改进(我认为他们确实是readline和其他linuxish的东西)之后,它现在才起作用 – johnnyB