【发布时间】:2017-06-25 19:11:22
【问题描述】:
在我的工作中,为了使用 git,我们需要登录 github,通过使用函数 git_login 这是一个名为 git.sh
的脚本的内置函数,然后它会询问用户密码。
我正在尝试自动执行此过程,expect 脚本显示我已登录,但是在尝试推送或提交时,它要求输入未知用户的密码,应该很简单吧?!
#!/usr/bin/expect -f
set timeout 15
set tagName [[lindex $argv 0]
if { [llength $tagName] == 0 } {
puts "no tag name provided...\n"
exit 1
}
spawn /bin/bash -c "source git.sh && git_login my_user"
expect "assword: "
send -- "my_password"
expect "is now logged in"
exec git add .
exec git commit "$tagName"
exit
或代替最后 3 行
git push origin "$tagName"
exit
我使用 -d
而不是 -f
执行脚本(用于调试)
【问题讨论】:
-
根据您的调试屏幕截图,您有一个
is now logged in
的预期模式。您在此处发布时是否错过了这一点?用正确的脚本更新它。 -
我同意添加屏幕截图比解释要容易得多但是meta.*.com/questions/285551/…
-
至于截图..注意..至于“现在登录”显然我有..代码已修复谢谢:)