【发布时间】:2017-09-11 12:46:51
【问题描述】:
我在 Julia REPL 中运行这样的外部命令:
stream, process = open(`sudo cat file.txt`, "w", STDOUT)
sudo cat file.txt 命令在 shell 中标准执行时,要求输入密码,然后打印文件。
所以我将它粘贴到 REPL 中,按 enter 并立即返回,因为该过程是异步运行的。到目前为止一切正常。
但是当我开始在 REPL 中输入其他内容时,我输入的字符不会出现在屏幕上(sudo 要求输入密码),因为异步过程(可能)是“窃取”文本我正在打字。
【问题讨论】:
-
你能再解释一下你的问题吗?
-
我扩展了答案,如果还不清楚,请告诉我。
-
不只是希望您输入密码吗?
-
正如 Tasos 所说,它可能只是要求输入密码。没有看到
[sudo] password for xxx:提示符吗? -
文档是正确的,STDIN 是
stream,但sudo不从 STDIN 读取。请参阅serverfault.com/questions/731886/… 了解更多信息。