我正在尝试制作一个非常基本的脚本,可以在多台服务器上安装EasyEngine。在安装EasyEngine期间,它会询问您的姓名和电子邮件。 如何在脚本中定义这些?
我的脚本看起来像这样
#!/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个块组合成一个?
答案 0 :(得分:0)
获取expect
。这并不难,值得学习。 autoexpect
命令附带它。只需在没有任何参数的情况下运行它,它将为您启动一个新的shell。对一个主机运行三个命令,然后退出shell。它会为您创建script.exp
。你需要清理一下,特别是放入:
set ipaddr [lindex $argv 0]
从命令行获取主机。将您的spawn ssh root@s1
替换为
spawn ssh root@$ipaddr
如果主机名或主机特定的任何其他内容显示在预期行中,您将要清除它。
如果要管理很多主机,我也建议使用Ansible。
答案 1 :(得分:0)
如果没有在.gitconfig中找到,EasyEngine会询问姓名和电子邮件。
试试这个:
bash -c 'echo -e "[user]\n\tname = abc\n\temail = root@localhost.com" > /root/.gitconfig'