【发布时间】:2013-10-25 06:46:56
【问题描述】:
我无法在 Cygwin rxvt 或 mintty 终端中以交互方式运行 PowerShell.exe。似乎有任何使用 /dev/tty 的会话?还是 /dev/pts?伪终端设备。使用垃圾 Windows 控制台设备 /dev/console 或 /dev/cons 的实例?会工作的。
cygstart /bin/bash -li
在简陋的 Windows 命令提示符中启动控制台版本,这是我唯一可以获得交互式 PowerShell 的地方。
有效。 Rxvt 没有:
薄荷也不行:
echo -e | powershell.exe和powershell.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”的作用。
【问题讨论】:
-
不禁想知道为什么你会想要这样做而不是编写一个 shell 脚本。我的意思是你已经在使用 IMO 比 PowerShell 强大得多的 bash。从 Cygwin Bash 启动 PowerShell 就像从 Eclipse 启动 VisualStudio。但我会反对。
-
首先,我讨厌“你为什么需要这样做”的答案...看到其他人说“你为什么要这样做?”他/她的答案可能和你的一样,也可能不一样,但你终于发现有人在谈论同样的问题,而“答案”是“你为什么要那样做”!!!呜呜呜!!!但是好的,我会回答的......
-
我有许多执行 vSphere/PowerCLI 内容的 powershell 脚本和许多执行 WinAD 调用(内置或 Quest 调用)的脚本。我希望我的 bash 脚本通过主机循环,以便能够调用 powercli 并在主机上设置 vmWare 属性,或者检查它作为 GuestOS 报告的内容或任何数量的东西。真正的答案:最好地使用工具来完成工作不是重点吗? Ruby、python、bash、perl、awk、... 为什么不使用 powershell?如果是 PowerShell,为什么不给我一个交互式 shell?
-
是的,我有,但这是评论,而不是答案。但是由于您提到使用最好的工具,您还没有确定为什么 PowerShell 是最好的工具。基本上你有 PS 脚本,你不想转换成 Bash,但你仍然想使用 Bash。不管怎样,没关系,但不要假装它是最佳的。
-
好的,必须同意 PS 不是最好的,但是如果你想编写脚本/自动化 Windows 管理员,它是唯一的答案(请让我们愉快地忘记 VisualBasic/JScript;)它不是最优的,我们'也在这里讨论如何通过 cygwin/mingw 在 bash shell 中调用 powershell。
标签: powershell cygwin