
Ich arbeite an einem Skript zur Automatisierung einiger Aufgaben, die ich hunderte Male am Tag ausführe, etwa das Erstellen von iOS-/Android-Projekten, aber ich habe nicht viel Erfahrung mit Shell-Skripting.
In einem der Projekte verwenden wir Titanium, das mir einen CLI-Wrapper um die nativen Build-Befehle bietet. Ich mache also Folgendes:
titanium build -p ios -T device
um es auf meinem Gerät bereitzustellen, aber vor der Bereitstellung muss ich einige Dinge auswählen, sodass ich Folgendes erhalte:
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:
Ich wähle immer dieselben Optionen aus, daher lautet die Frage: Wie erstelle ich ein Skript, das 1
jedes Mal automatisch eine Option auswählt?
Danke!
BEARBEITEN:
Ich habe also versucht, expect
die Option mit auszuwählen. Nach einigem Googeln mache ich es folgendermaßen:
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
Anstatt jedoch „1“ als Eingabe zu senden, wird stattdessen ein „%“ angezeigt. Weiß jemand, warum?