2013-10-25 104 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