【问题标题】:How do I respond to a prompt for password in a shell script?如何响应 shell 脚本中的密码提示?
【发布时间】:2015-09-02 21:38:48
【问题描述】:

我正在编写一个 shell 脚本来使用 vncpasswd 设置 VNC 密码。

使用 vncpasswd 的唯一方法是在交互模式下(输入密码、返回、确认密码、返回)。

如何响应我的 shell 脚本中的提示,以便自动设置密码? (即非交互式)。

谢谢! 克里斯。

【问题讨论】:

  • 它是否接受来自标准输入的数据?你能通过管道输入吗?
  • 我不确定;我将如何测试它? vncpasswd |密码\n密码\n ?
  • vncpassword <<< password 测试它。请注意,出于安全原因,许多程序不使用标准输入作为密码。
  • vncpassword <<<$'password\npassword\n' 或类似的。 vncpasswd 真的 需要在登录时确认密码吗?或者只是在设置会话时?真的不支持配置文件吗?
  • 它支持配置文件,但是里面的密码是加密的。在一个理想的世界里,我自己运行密码并更新文件;但我不知道要使用什么密码,也没有时间真正深入研究它。

标签: bash ubuntu vnc


【解决方案1】:

如果程序从您的终端而不是标准输入读取,您会发现它会忽略您使用文件重定向发送的任何数据。如果是这种情况,那么您可以使用像 expect 这样的程序来使用伪 tty 自动与终端交互。这正是它旨在解决的问题。

【讨论】:

    猜你喜欢
    • 2010-11-30
    • 1970-01-01
    • 2011-12-28
    • 2012-04-28
    • 1970-01-01
    • 2014-10-23
    • 2023-03-08
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多