用于为ssh创建子进程的bash脚本

时间:2018-10-24 09:11:24

标签: bash

我想要多个主机的远程日志并检查一些配置。为此,我写了一个小脚本。它有两个文件。一个用于IP地址列表,另一个用于脚本。

cat iplist
192.168.1.10
192.168.1.11
192.168.1.12

我的脚本:

cat script.sh
#!/bin/bash
while read ip;
 do
    sshpass -p 'root' ssh  root@$ip "hostname"
    echo "$ip" 
done < iplist

上面的脚本仅显示一个主机名和一个IP

1 个答案:

答案 0 :(得分:1)

ssh从stdin读取并在首次运行时消耗所有输入文件ip_list。您可以使用-n选项来ssh命令行,以指示不要这样做。

其他方法是使用其他文件描述符来读取ip_list或使用... </dev/null重定向输入。