通过ssh连接到远程并使用expect运行git命令

时间:2018-04-04 16:50:55

标签: bash ssh remote-access git-bash

我写作"虚假部署" bash脚本我想运行以在服务器上拉最新的master。我有一个以下脚本:

#!/usr/bin/expect -f
spawn ssh -t user@host.domain 'cd path/to/dir'
expect "continue"
sleep 1
send "yes\r"
expect "assword:"
sleep 1
send "password\r"

# Commands for remote
git pull origin master
expect "sername"
sleep 1
send "username\r"
expect "assword"
sleep 1
send "password\r"
interact

成功连接,但是,当git pull origin master运行时,会触发错误:invalid command name "git"

我可能应该以不同的方式运行命令,不幸的是,我不确定如何。我如何能够运行远程"的命令?在远程? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

ssh会让您使用标准受限PATH远程主机端。

如果git中未安装/usr/bin,您可能需要修改脚本才能编写git可执行文件的完整路径。