我曾在Win8.1上运行Cygwin,当输入程序时,CTRL-Z用于表示EOF。今天我在Win10上安装了Cygwin,并运行了“a.out”。在键入输入数据后,当我按下CTRL-Z时,会出现“Suspended”消息,并返回shell提示符。我尝试过bash和csh,结果相同。CTRL-D也不起作用,它会终止shell。
只是为了确认这只是问题而已,我创建了一个新的input.txt文件,并在其中输入相关的输入数据,然后运行“a.out < input.txt”,它可以正常工作。因此,问题仅在于定义STDIN的EOF。
如何解决这个问题?
注意:我正在关闭这个问题,并在一个新的问题中提供更多细节reading till EOF in java on cygwin on windows-10。
只是为了确认这只是问题而已,我创建了一个新的input.txt文件,并在其中输入相关的输入数据,然后运行“a.out < input.txt”,它可以正常工作。因此,问题仅在于定义STDIN的EOF。
如何解决这个问题?
注意:我正在关闭这个问题,并在一个新的问题中提供更多细节reading till EOF in java on cygwin on windows-10。
stty -a
检查键盘驱动程序生成信号的方式(在cchars
下查找eof
)。您也可以使用stty
更改设置,但我不建议这样做。CTRL+D 会“终止 shell”,因为您正在发送 shell 的 EOF。您可以使用set -o ignoreeof
。 - cdarke