![如何从脚本的选择菜单中选择选项?](https://linux22.com/image/59636/%E5%A6%82%E4%BD%95%E4%BB%8E%E8%84%9A%E6%9C%AC%E7%9A%84%E9%80%89%E6%8B%A9%E8%8F%9C%E5%8D%95%E4%B8%AD%E9%80%89%E6%8B%A9%E9%80%89%E9%A1%B9%EF%BC%9F.png)
我正在编写一个脚本来自动执行每天执行数百次的填充任务,例如构建 iOS/Android 项目,但我对 shell 脚本编写经验不是很丰富。
在其中一个项目中,我们使用 Titanium,它为我提供了一个围绕本机构建命令的 CLI 包装器,所以我这样做:
titanium build -p ios -T device
将其部署到我的设备上,但在部署之前,我需要选择一些内容,所以我得到:
Which developer certificate would you like to use?
/Users/bernardo/Library/Keychains/login.keychain
1) CERTIFICATE 1 (xxx) (expires Oct 16, 2015 4:27:51 pm)
2) CERTIFICATE 2 (xxx) (expires Oct 1, 2015 12:06:30 pm)
Select a certificate by number or name:
我总是选择相同的选项,所以问题是:如何创建一个1
每次都会自动选择选项的脚本?
谢谢!
编辑:
所以我尝试使用expect
来选择该选项。谷歌搜索后,我这样做:
expect <<EOD heredoc> spawn titanium build -p ios -T device heredoc> expect "Select a certificate by number or name" heredoc> send "1\r" heredoc> EOD
但是,它不是发送“1”作为输入,而是显示“%”。有人知道为什么吗?