在我的工作中为了使用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}}(用于调试)
答案 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:"
)