Ich bin verrückt versuchen, das funktioniert zu machen.Bash erwarten zwei Befehle in demselben Prozess
Ich brauche zu erwarten, ein paar Passwörter zu setzen. Das Problem, das ich habe, ist, dass ich zwei Befehle im selben Prozessor ausführen muss.
Hier den Code
yum install -y expect
secret="price_aws_git_secret.txt"
eval $(ssh-agent)
pass=$(cat $secret)
expect << EOF
spawn ssh-agent ssh-add price_aws_github
expect "Enter passphrase"
send "$pass\r"
spawn git clone [email protected]/repo.git
expect "Are you sure you want to continue connecting"
send "yes\r"
expect eof
EOF
Der erste Befehl hinzufügen, in den ssh-agent den SSH-Schlüssel, und der zweite Befehl die git clone müssen im gleichen Prozess sein, dass die Mittel zu erhalten.
Ich suche Dokumentation und Beispiele Ich bin nicht in der Lage zu sehen, wie Expect mit zwei Befehlen in demselben Prozess funktioniert.
Irgendwelche Vorschläge?
Danke!
Wie üblich sollten Sie 'expect' vermeiden können, indem Sie stattdessen die Public-Key-Authentifizierung einrichten. – chepner
Es ist, was ich getan habe, aber sogar einen öffentlich-privaten Schlüssel auf github hinzufügen, müssen Sie ein Passwort angeben, wenn Sie den privaten Schlüssel zum ssh-add hinzufügen möchten – paul
Sie gehen zu großen Längen. Warum erstellen Sie keinen Schlüssel ohne Passphrase? –