msys 没有以交互方式打开程序
Posted
技术标签:
【中文标题】msys 没有以交互方式打开程序【英文标题】:msys not opening programs interactively 【发布时间】:2013-05-15 01:17:45 【问题描述】:。比如我输入python,程序就挂了。即使mysql
在我输入密码后也会挂起(不过,输入密码是交互式的)。当我输入pico
时,我得到“不支持重定向”。不过,bc
不会挂起。 python -i
打开一个交互式会话。
我尝试了不同的终端模拟器,得到了相同的结果。我试过 Console 和 Mintty。因此,我相信这是sh
的问题,而不是终端模拟器的问题。
我正在运行 Vista。我在运行 Windows 7 的工作 PC 上安装了 msys,在 msys 上运行交互式程序没有任何问题。
我读到这是expected behavior,但这曾经有效。我在想有些安装损坏了一些东西。我什至尝试重新安装 msys,我得到了相同的结果。由于某种原因,我也无法进行系统还原。
有什么线索吗?
这是一些示例输出:
$ python
<ctrl-C> from this
$ mysql -u root -p
Enter password: ****
<ctrl-C> from this
这次我使用了控制台。在“Shell:”文本框中,我输入了C:/msys/1.0/bin/sh.exe --login -i
当我按下回车键时,添加了一个换行符,即终端滚动。同样的事情发生在 msys 提供的终端上。这以前可以工作。此外,我在另一台运行 Windows 7 的机器上安装了 msys,python 没有挂起。如果我使用python -i
,则不会挂起。
这是从 cmd 运行 sh 的输出:
C:\Users\jpp>sh
sh-3.1$
sh-3.1$
sh-3.1$ python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
【问题讨论】:
您所说的一切都是完全错误的,您只是在滥用外壳。你怎么打开外壳?详细地告诉我你是如何做到的。 以下是我打开 shell 的方法:C:\msys\1.0\msys.bat -norxvt
这是 msys 提供的快捷方式。 msys.bat 也是msys提供的批处理文件;我没有修改它。如果我使用控制台,我在 Edit->Settings->Shell 中设置 `C:/msys/1.0/bin/sh.exe --login -i`
“如果我输入python,程序就会挂起” - 举个例子,我该如何重现它。
我不确定如何指示程序挂起,但我已经包含了输出。
所以,如果我理解正确的话,MSYS 发生了一些事情,尤其是在您当前的机器上,也就是说,以前很好,但现在不是了。此外,在其他机器上一切正常。是这样吗?
【参考方案1】:
您尝试过 winpty (https://github.com/rprichard/winpty) 项目吗?有关详细信息,请在此处查看我的答案:https://***.com/a/23164362/1034436
您的问题似乎与我的 mysql
、hg
和 python
相似,但与您不同的是,我没有一个没有 winpty 的例子。
【讨论】:
以上是关于msys 没有以交互方式打开程序的主要内容,如果未能解决你的问题,请参考以下文章