“expect” ist ein Mittel zur Automatisierung von Dialogen in der bash-Konsole.
sudo apt-get install -y expect
Beim git push zu GitHub tritt Interaktivität auf. Benutzername und Passwort.
Wir werden diese Eingabe automatisieren, um sie automatisch zu machen.
#!/usr/bin/expect
set USER [lindex $argv 0]
set PW [lindex $argv 1]
set Prompt "\[#$%>\]"
set timeout 5
spawn git push
expect {
-glob "Username for 'https://github.com':" {
send -- "${USER}\n"
}
}
expect {
-glob "Password for 'https://${USER}@github.com':" {
send -- "${PW}\n"
}
}
expect {
-glob "${Prompt}" {
# interact
exit 0
}
}
Verwendung
- Benennen Sie das obige Skript in etwas wie
~/lib/github.expum - $ ~/lib/github.exp USERNAME PASSWORD
- Sie können zu GitHub pushen. (Als Voraussetzung erstellen Sie ein Repository. Wenn "Everything up-to-date" usw. angezeigt wird, ist es ok)
Referenz: http://qiita.com/ine1127/items/cd6bc91174635016db9b