期待脚本,产生多个进程(已关闭)

时间:2015-11-21 05:30:02

标签: git expect spawn

这个想法非常简单,使用expect脚本将git本地存储库推送到github

#! /usr/bin/expect -f
spawn git add -A 
spawn git commit -m 'server auto update' 
spawn git push
expect "Username for 'https://github.com':"
send <username\r>
expect "Password for 'https://xxxx@github.com':"
send <password\r>

我认为我的问题可能更准确:如何生成多个进程,因为我只使用git push测试脚本,它可以工作,所以我想我的代码中有多个spawn就是问题所在。

当前解决方案: 我编写了另一个bash脚本来自动为我添加和提交作业,在bash脚本的末尾我调用了expect脚本。

更好的解决方案(测试和工作)

exec git add -A 
execute git commit -m ""

2 个答案:

答案 0 :(得分:0)

而不是采用这种迂回方式, Generate an SSH key and register it with GitHub ,GitHub不会在您推送时询问您的密码(除非您使用密码短语生成密钥),而且&#&# 39;被认为比密码更安全(只要您的私钥实际上保密)。

有关详细信息,请参阅链接文章。

答案 1 :(得分:0)

此代码对我有用

spawn git push
set timeout 300

expect "Username*:" {
        send "userName\n"
        expect  "Password" {
            send "Pasword\n"
        }
        
}

expect eof