【发布时间】:2011-06-18 23:11:28
【问题描述】:
我正在编写一个 UNIX shell 函数,它将执行一个提示用户输入密码的命令。我想将密码硬编码到脚本中并将其提供给命令。我试过将密码输入到这样的命令中:
function() {
echo "password" | command
}
这可能不适用于某些命令,因为该命令可能会在提示输入密码之前刷新输入缓冲区。
我也尝试将标准输入重定向到包含这样密码的文件,但这也不起作用:
function() {
echo "password" > pass.tmp
command < pass.tmp
rm pass.tmp
}
我知道有些命令允许将密码作为参数提供,但我宁愿通过标准输入。
我正在寻找一种快速而肮脏的方式将密码输入到 bash 中的命令中。
【问题讨论】:
-
你看过
autoexpect吗?没有比这更容易的了。您只需将命令传递给它,它就会记录您所做的一切并为您创建期望文件。