来自Cygwin的互动版权威

时间:2013-10-25 06:46:57

标签: powershell cygwin

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

cygstart /bin/bash -li

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

Console

作品。 Rxvt不: rxvt

也不薄荷: mintty

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

我假设当我在Stackoverflow上看到他们正在使用Console的答案时......或者我错过了什么?

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


我开发了一个powershell包装器,用于调用来自Cygwin终端会话的powershell脚本和命令,但是无法使交互式选项工作(如果你给包装器没有脚本或命令,那么你想要进行交互)。有关包装器脚本的信息,请参阅https://bitbucket.org/jbianchi/powershell/wiki/。它适用于大多数powershell.exe调用,如果在ps1脚本的第一行中使用,甚至可以像“she-bang”一样。

6 个答案:

答案 0 :(得分:1)

我找到的解决方案是使用http://sergeybelous.com/(主网站)Proxy32 proxywinconsole.exe计划。如果此程序在路径中,我的poweshell.bash wrapper将调用它,这将让您与PowerShell交互式工作。

答案 1 :(得分:1)

如果你需要在cygwin / babun中运行powershell,请关注https://code.google.com/p/mintty/issues/detail?id=56#c64。 Bascilly,downloard或编译https://github.com/rprichard/winpty,将其复制到$ PATH然后运行

console.exe powershell

这也适用于调用powershell内部的批处理脚本。

答案 2 :(得分:1)

首先在系统中安装cygwin。 之后,在powershell终端上输入bash,然后您就可以访问cygwin终端。

PS C:\Users\username\1and1> bash
username@LWMT-14R25Q2:/mnt/c/Users/username/1and1$

答案 3 :(得分:0)

我担心我无法回答你的问题,但也许我可以用你的方式进一步帮助你:

我认为这与此问题有关,正如MinTTY Issue #56所述。 它详细介绍了常见的cmd.exe shell应用程序如何工作和交互,以及详细说明使用其TTY抽象层的常见unix应用程序与Windows命令行应用程序的工作方式不同。

答案 4 :(得分:0)

今天,在Cygwin bash提示符下键入powershell就可以了。

答案 5 :(得分:-2)

在Cygwin minty上运行powershell的脚本:

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

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