如何在提示用户输入CLI工具的同时将其输出传递给另一个程序?

时间:2018-09-10 22:03:00

标签: rust

我正在编写一个CLI工具来加密秘密并将其嵌入docker-compose文件中。我要求用户通过标准输入以交互方式输入用于解密的密码。

不幸的是,这意味着我无法执行类似的操作,因为我不会看到询问密码的对话框:

myfancytool decrypt docker-compose.yml | docker-compose -f - up -d

有什么办法可以得到想要的行为?

1 个答案:

答案 0 :(得分:0)

您可以使用eprint!eprintln!宏将提示打印到stderr而不是stdout。这样,即使将stdout重定向到管道,它仍然会进入终端。