2017-07-19 66 views
-1

我的主机列表文件有多个没有像下面的条目,它是硬编码的,我不想在主机列表文件如何登录到多个主机

abc13bc1a abc13bc2a abc13bc4a abc15bc3a abc15bc4a abc15bc5a abc19bc6a abc19fe1 abc20fe改变什么.. ........等等等等................

我的脚本使用如下

给出输入主机名 abc13 输入主机类型 bc

我的脚本能够在提供输入后用ssh命令登录到abc13bc。

现在,我想我的脚本登录到多个主机,如果我给像下面

输入主机名 abc13,abc15使用,abc19 输入主机类型 BC

像我想登录到abc13,abc15和abc19“bc's”并激发一些输出。有没有登录到多台主机在我的剧本像上面使用

+0

参考HTTPS读入一个变量host_list和循环遍历逗号分隔值任何possbile方式://unix.stackexchange。 com/questions/107800/using-while-loop-to-ssh-to-multiple-servers –

+0

@KaushikNayak我没有得到我的答案逗号分隔的主机名通过引用链接...我的主机名应该像abc13,abc15, abc19,这样它会对所有的盒子执行ssh并发出一些输出。这是我需要 –

回答

0

使用for

read host_list 
read host_type 
for i in $(echo $host_list | sed "s/,/ /g") 
do 
    # call your ssh command here 
    echo "$i" 
done 
+0

使用上述循环后,我使用ssh命令ssh -l ser $我“cd; ls-rlt”> output.txt [注意:“ser”是登录],我没有得到任何输出。你能帮我解决吗? –

+0

您需要将ssh配置为在不输入密码的情况下以非交互方式运行。请参阅此链接进行配置。 http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id –

+0

我使用host ='cat hostList .txt“,在我的脚本中,我将”host_name“作为abc13,abc15和”host_type“作为bc或gc。和我的hostList.txt文件是有abc13bc1a abc13bc2a abc13bc4a abc15bc3a abc15bc4a abc15bc5a abc19bc6a abc19fe1 abc20fe ..所以如何使用循环或如果循环,以便我将能够登录多个框后给予host_name和host_type,它会grep框为hostList.txt本身并激发输出.....我变得完全空白。你能帮我解决这个@KaushikNayak –