如何在EasyEngine安装过程中回答安装问题?

时间:2017-06-01 14:03:51

标签: linux bash scripting user-input

我正在尝试制作一个非常基本的脚本,可以在多台服务器上安装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个块组合成一个?

2 个答案:

答案 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'