我正在编写一个脚本来自动执行每天执行数百次的填充任务,例如构建 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”作为输入,而是显示“%”。有人知道为什么吗?