在另一个命令提示时输入一个字母

时间:2010-06-10 09:32:43

标签: shell

我正在尝试自动化应用程序的安装和部署。

要做到这一点,我有一个shell脚本,其中包含以下说明:

/usr/local/bin/amf install -u $1 -p $2 $localTarget

其中$ 1,$ 2和$ localTarget是名为'amf'的命令的选项。

问题是'amf'命令会发出多条指令并要求用户在这些说明中输入一个字母(以确认安装)。目前,我无法绕过或修改'amf'命令的行为,所以我的问题是:

如何捕捉此行为和/或在我的脚本中自动输入字母。

此行为目前使我的脚本无法正常工作,因为'amf instal ...'指令后跟另一个命令来启动我的应用程序。但是由于安装失败,应用程序无法启动。

提前感谢您的帮助。

最好的问候。

KIJ。

2 个答案:

答案 0 :(得分:0)

尝试

echo y | /usr/local/bin/amf install...

答案 1 :(得分:0)

Aaron的解决方案只会输入一个“y”字符。如果您的amf命令需要多个相同的输入,那么您可以尝试:

yes | /usr/local/bin/amf install -u $1 -p $2 $localTarget

yes会一再输出y(或者,在管道的情况下,直到amf退出)。它需要一个可选参数,所以

yes OchAye | /usr/local/bin/amf install -u $1 -p $2 $localTarget

将重复输入“OchAye”到amf(以防万一是苏格兰人)。