iOS / Androidプロジェクトの構築など、1日に数百回実行される人口の多い作業を自動化するスクリプトを作成していますが、シェルスクリプトの経験はあまりありません。
Titaniumを使用するプロジェクトの1つは、基本的なビルドコマンドの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」を入力として送信する代わりに「%」を表示します。理由を知っている人はいますか?