git add,通过expect脚本提交

时间:2017-06-25 19:11:22

标签: git bash github expect

在我的工作中为了使用git,github我们需要登录,使用函数git_login< user_name>这是一个名为#!/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 的脚本的内置函数,然后它要求输入用户密码。

我试图自动执行此过程,期望脚本向我显示我已登录,但在尝试推送或提交时,它要求输入未知用户的密码,它应该是简单的吗?!

git push origin "$tagName"
exit

或代替最后3行

-d

我使用-f执行脚本而不是{{1}}(用于调试)

enter image description here

1 个答案:

答案 0 :(得分:0)

  

expect脚本向我显示我已登录

它显然没有:它查找glob模式“is now logged in”但找不到它。

expect automate tool通常有如下序列:

expect "password:"
# Send the password, and then wait for a shell prompt.
send "$my_password\r"

(不是expect "assword:"