因此,我可以使用while循环在网络中的每个IP地址上通过SSH连接,然后将计数器添加到IP末尾的循环中,如下所示:

#!/bin/bash 
 
while [ 0 -lt 1] 
do 
    a=`expr $a + 1` 
    ssh user@172.18.10.$a 
    echo connected 
done 

我几乎可以肯定这是错误的,因此我正在尝试找到正确的方法。
可以通过一种更简单的方式来完成它吗,例如使用ARP表(如列表)并循环使用它?

请您参考如下方法:

#!/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变量设置为每个值。

ssh命令中的 true是告诉ssh执行命令然后退出。如果不指定命令,它将启动一个交互式 session ,直到退出该 session 才结束。您可以将其替换为要在每个主机上执行的任何命令。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!