【问题标题】:Redirect STDIN in bash?在bash中重定向STDIN?
【发布时间】:2010-07-14 15:06:10
【问题描述】:

例如,我想使用密码登录 mysql。我知道我可以使用 -pmypass 但我想了解如何在 bash 中重定向标准输入。所以我的测试是

mysql -u limited_user -p <text to redirect into stdin when it prompts for my pass>

我以前见过

【问题讨论】:

  • 请注意,通过将其置于管道或执行除交互式标准输入之外的任何操作,您可以让系统上的每个用户通过查看正在运行的进程来查看密码
  • Daenyth:我听说了,但没问过。非root用户可以看到root用户运行的进程吗?这真的是个问题吗?因为如果没有人可以看到您的进程,除非他们更高,那么他们仍然可以访问您的文件并看到您的密码?
  • 是的,至少在linux上,任何人都可以看到整个进程列表。
  • &amp;-的含义,现在又见stackoverflow.com/questions/38782395/…

标签: bash stdin


【解决方案1】:
command <<< "input"

这是一种 bashism,echo 解决方案在脚本中更常见,尽管我的解决方案在交互式 shell 中更方便(我怀疑这些解决方案中的任何一个都适用于 mysql,但您的问题更笼统)。

【讨论】:

    【解决方案2】:

    通常,它只是:

    echo password|command
    

    但是许多读取密码的程序,包括 MySQL,实际上并不从标准输入读取。相反,它们直接与终端交互。见Trick an application into thinking its stdin is interactive, not a pipe

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多