【问题标题】:Shell script auto provide input for commandShell 脚本自动为命令提供输入
【发布时间】:2016-03-23 11:53:50
【问题描述】:

我正在构建一个用于生成应用程序的自动构建脚本。在我手动运行每个命令之前。构建脚本差不多完成了,但是有一个问题。有些命令需要输入,但我不知道如何在不提示用户的情况下为命令提供输入。例如:

keytool -genkey -v -keystore Keystore/$name.keystore -alias $lowername -keyalg RSA -keysize 2048 -validity 10000

这要求输入始终相同的当前密码,但我每次都需要输入。

有没有一种方法可以在不向用户显示的情况下提供运行命令时遇到的问题的答案?

【问题讨论】:

    标签: macos shell


    【解决方案1】:

    您可以使用程序expect(TCL 扩展库的一部分)来实现这一点。 使用起来非常简单。

    【讨论】:

    • 这似乎是我寻找的那个,但我似乎无法让它工作。我尝试创建一个单独的脚本,但似乎我需要 spawn 命令,该命令未安装且我无权执行此操作。