Erlang 如何使用io:getline/1绕过io:setopts([{echo,false}])中的限制

Erlang 如何使用io:getline/1绕过io:setopts([{echo,false}])中的限制,erlang,stdout,Erlang,Stdout,我试图在我的应用程序中输入一个密码提示,并使用io:get_line/1,它将输入的字符写入标准。我的应用程序正在以escript应用程序的形式运行,由rebar构建 在文档之后,我尝试执行io:setopts([{echo,false}]),它返回{error,enotsup},并且不会成功地打开回显 我担心直接打开/dev/stdin和/dev/stdout,因为它不是多平台的 关于如何使用echo绕过io:setopts限制的建议,或者知道实现我尝试的另一种方法吗 不幸的是,目前没有简单的

我试图在我的应用程序中输入一个密码提示,并使用
io:get_line/1
,它将输入的字符写入标准。我的应用程序正在以escript应用程序的形式运行,由rebar构建

在文档之后,我尝试执行
io:setopts([{echo,false}])
,它返回
{error,enotsup}
,并且不会成功地打开回显

我担心直接打开
/dev/stdin
/dev/stdout
,因为它不是多平台的


关于如何使用
echo
绕过
io:setopts
限制的建议,或者知道实现我尝试的另一种方法吗

不幸的是,目前没有简单的方法可以做到这一点。说明使用旧版本的io服务器。无论是
io:setopts([{echo,false}])
还是
io:get_password()
都不能从escript工作。电视上有一个关于它的话题。最好的解决方案是使用bash脚本读取密码:

read -s password
./escript $password
其中escript类似于:

#!/usr/bin/env escript

main([Password]) ->
    io:format(" -> ~p\n", [Password]).

这很令人失望,谢谢你的回复。你知道这是否是某个追踪器中的未清项吗?