一、背景
在 Shell 脚本中,我们可以通过命令行参数传递多个 IP 地址。假设你有一个脚本 my_script.sh
,可以像这样传入 5 个参数:
#!/bin/bash
# 检查是否传入了5个参数
if [ "$#" -ne 5 ]; then
echo "Usage: $0 ip1 ip2 ip3 ip4 ip5"
exit 1
fi
# 分别获取传入的5个参数
ip1=$1
ip2=$2
ip3=$3
ip4=$4
ip5=$5
# 输出每个IP
echo "IP Address 1: $ip1"
echo "IP Address 2: $ip2"
echo "IP Address 3: $ip3"
echo "IP Address 4: $ip4"
echo "IP Address 5: $ip5"
# 这里可以根据需要对每个IP进行进一步的处理
# 比如:ping每个IP,或者执行其它网络操作
# 示例:ping每个IP地址
for ip in "$ip1" "$ip2" "$ip3" "$ip4" "$ip5"; do
echo "Pinging $ip..."
ping -c 3 $ip
done
在这个脚本中:
if [ "$#" -ne 5 ];
检查传入参数的数量是否为5。$1
到$5
分别代表传入的第1到第5个参数。- 使用
echo
命令打印每个IP地址。 - 用
for
循环遍历每个IP地址并执行ping
命令,-c 3
表示发送3个ICMP包。
要运行脚本,我们可以通过以下方式传入参数:
./my_script.sh 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5
确保我们的脚本有执行权限,我们可以使用 chmod +x my_script.sh
命令来赋予执行权限。