如果在rxvt中打开Cygwin,运行wmic不会显示预期的wmic:root\cli>提示符。如果我从cmd.exe执行C:\cygwin\bin\bash.exe,那么在bash.exe中运行wmic将返回预期的提示符。为什么?
我将环境变量CYGWIN设置为ntsec tty。我可以echo "hello"的回应,其他一切似乎都很高兴。只是当我运行wmic和其他几个具有提示符的Windows应用程序时,提示就不会出现。
发布于 2010-07-16 09:53:30
这是对本地控制台应用程序的问题。Rxvt基于一个“伪终端设备”(pty),Cygwin使用Windows管道实现了这一功能。不过,非Cygwin应用程序只看到Windows管道,这使他们中的一些人认为应该进入非交互模式,而不需要提示符。(更具体地说,isatty()函数在管道上调用时返回false。)
发布于 2012-04-05 12:12:34
根据您正在使用的Cygwin版本,您可能必须利用< /dev/null。我相信我使用的是1.7,而且我不再必须在大多数版本的Windows上使用< /dev/null (除Windows2003 R2之外,您仍然必须使用
下面是一个示例:
wmic (适用于几乎所有版本的Windows) wmic < /dev/null (基于我的测试,适用于所有版本的Windows )
希望这能有所帮助。
https://serverfault.com/questions/160933
复制相似问题