我想要多个主机的远程日志并检查一些配置。为此,我写了一个小脚本。它有两个文件。一个用于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
答案 0 :(得分:1)
ssh从stdin读取并在首次运行时消耗所有输入文件ip_list
。您可以使用-n
选项来ssh命令行,以指示不要这样做。
其他方法是使用其他文件描述符来读取ip_list
或使用... </dev/null
重定向输入。