我可以使用while循环通过SSH在网络中的每个IP地址上连接,然后在IP结束时将该计数器附加到该循环中,如下所示:
#!/bin/bash
while [ 0 -lt 1]
do
a=`expr $a + 1`
ssh user@172.18.10.$a
echo connected
done
我几乎可以肯定它是错的,所以我试图找到正确的方法来做到这一点。 可以用更简单的方式完成,也许像列表一样使用ARP表并循环使用它吗?
答案 0 :(得分:1)
#!/bin/bash
for a in $(seq 255)
do
ssh user@172.18.10.$a true
echo "Connected to 172.18.10.$a"
done
seq 255
输出1到255之间的数字序列,然后迭代将变量a
设置为每个值。
true
是告诉ssh执行命令然后退出。如果您未指定命令,它将启动交互式会话,直到您退出它为止。您可以将其替换为您希望在每个主机上执行的任何命令。
答案 1 :(得分:0)
如果你真的想检查连接是否成功,你需要这样的东西
#!/bin/bash
for a in $(seq 255)
do
ssh user@172.18.10.$a true && echo "Connected to 172.18.10.$a"
done