我将 Elixir 应用程序从版本 1.8 升级到 1.15.7。现在,无需按 Enter 键即可从控制台获取单个字符的代码不再起作用:
{:ok, Port.open({:spawn, "tty_sl -c -e"}, [:binary, :eof])}
我安装了 Erlang 26.0.2,但 tty_sl 似乎不再存在。有没有另一种方法可以在不按 Enter 的情况下获取单个字符?
很难说出您实际上想要实现的目标,但是,是的,
tty_sl
已从OTP 26
中删除,以支持内部外壳处理。
您可能需要的是生成一个常规的
tty
,然后在启动后立即向其发送 stty raw -echo
命令。