举个例子,我想用密码登录mysql。我知道我可以使用-pmypass,但我想学习如何在bash中重定向stdin。所以我的测试是
mysql -u limited_user -p <text to redirect into stdin when it prompts for my pass>
我看到了&lt;文件名之前,但我不想将数据存储在文件中。我试过&amp;和&amp; - 但没有运气。我不确定&amp; - 是什么。
答案 0 :(得分:9)
command <<< "input"
这是一个基础,echo
解决方案在脚本中更常见,虽然我的解决方案在交互式shell中更方便(我怀疑这些解决方案中的任何一个都适用于mysql,但你的问题更为通用)。
答案 1 :(得分:3)
通常,它只是:
echo password|command
但许多读取密码的程序,包括MySQL,实际上并没有从stdin中读取。相反,它们直接与终端交互。请参阅Trick an application into thinking its stdin is interactive, not a pipe。