我正在尝试制作一个非常基本的脚本,该脚本在多个服务器上安装EasyEngine。在安装Easy Engine期间,它要求您的名字和电子邮件。如何在脚本中定义这些?
我的脚本看起来像
#!/bin/bash
ssh root@$s1 wget -qO ee rt.cx/ee
ssh root@$s1 bash ee #After this command I have to provide name and e-mail
ssh root@$s1 source /etc/bash_completion.d/ee_auto.rc
ssh root@$s2 wget -qO ee rt.cx/ee
ssh root@$s2 bash ee #After this command I have to provide name and e-mail
ssh root@$s2 source /etc/bash_completion.d/ee_auto.rc
ssh root@$s3 wget -qO ee rt.cx/ee
ssh root@$s3 bash ee #After this command I have to provide name and e-mail
ssh root@$s3 source /etc/bash_completion.d/ee_auto.rc
也是奖励问题。任何人都有一个想法将这3个块组合成一个?
获取expect
。这并不困难,值得学习。随附autoexpect
命令。只需在没有任何参数的情况下运行它,它将为您启动一个新的外壳即可。对一个主机运行三个命令,然后退出外壳。它将为您创建script.exp
。您需要稍微清理一点,尤其是放入:
set ipaddr [lindex $argv 0]
从命令行获取主机。用
替换您的spawn ssh root@s1
spawn ssh root@$ipaddr
如果主机名或其他任何特定于期望线显示的主机,您将需要清理。
如果您有很多主机要管理,我也建议您使用。
easyEngine如果在.gitconfig中找不到的姓名和电子邮件。
尝试以下操作:
bash -c 'echo -e "[user]ntname = abcntemail = root@localhost.com" > /root/.gitconfig'