关于shell简单脚本

`#!/bin/bash

network="192.168.1"

循环检测 1 到 254 的 IP 地址

for i in {1..254}
do
ip="$network.$i"
ping -c 1 -W 1 "$ip" > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "$ip is 在线"
else
echo "$ip is 不在线"
fi
done`

` #!/bin/bash

定义要检测的网段,这里以 192.168.1.0/24 为例,可按需修改

network="192.168.1"

初始化在线 IP 计数

online_count=0

初始化存储在线 IP 的数组

online_ips=()

循环检测 1 到 254 的 IP 地址

for i in {1..254}
do
ip="$network.$i"
# 发送一个 ICMP 回显请求,等待 1 秒响应
ping -c 1 -W 1 "$ip" > /dev/null 2>&1
# 判断 ping 命令的返回状态
if [ $? -eq 0 ]; then
# 若返回 0 表示主机在线,计数加 1
((online_count++))
# 将在线 IP 添加到数组中
online_ips+=("$ip")
fi
done

打印在线 IP 个数

echo "在线的 IP 个数为: $online_count"

打印所有在线 IP

echo "在线的 IP 列表如下:"
for ip in "${online_ips[@]}"
do
echo "$ip"
done
`

关于变量的统计

posted on 2025-05-10 12:40  小二jerry  阅读(30)  评论(0)    收藏  举报