举个例子,我想用密码登录mysql.我知道我可以使用-pmypass,但我想学习如何在bash中重定向stdin.所以我的测试是
mysql -u limited_user -p <text to redirect into stdin when it prompts for my pass>
Run Code Online (Sandbox Code Playgroud)
我之前看过<filename但我不想将数据存储在文件中.我试过&和 - 但没有运气.我不确定是什么& - 做什么.
wRA*_*RAR 11
command <<< "input"
Run Code Online (Sandbox Code Playgroud)
这是一个基础和echo解决方案在脚本中更常见,虽然我的解决方案在交互式shell中更方便(我怀疑这些解决方案中的任何一个都适用于mysql,但你的问题更为通用).
通常情况下,它只是:
echo password|command
Run Code Online (Sandbox Code Playgroud)
但许多读取密码的程序(包括 MySQL)实际上并不是从标准输入读取。相反,它们直接与终端交互。请参阅欺骗应用程序,使其认为其标准输入是交互式的,而不是管道。