发布网友 发布时间:2022-04-23 12:56
共1个回答
热心网友 时间:2023-08-15 01:13
脚本如下。
#!/bin/bash
# default
ip=192.168.168.168
count=3
if [ $# -eq 2 ]; then
[[ $1 =~ ^([0-9]+\.){3}[0-9]+$ ]] && ip=$1
[[ $2 =~ ^[0-9]+$ ]] && count=$2
elif [ $# -eq 1 ]; then
if [[ $1 =~ ^([0-9]+\.){3}[0-9]+$ ]]; then
ip=$1
elif [[ $1 =~ ^[0-9]+$ ]]; then
count=$1
fi
fi
ping -n $count $ip >>$(date +%Y-%m-%d-%H-%M-%S).log
[ $? -ne 0 ] && 这里写restart pppd的代码
exit 0
说明:
1)运行脚本时可以带两个参数,第一个指示ip,第二个指示ping的次数;若输入不符合格式要求,使用默认值。
2)若只提供了一个参数,脚本自动根据格式判断是ip还是ping的次数;另一个使用默认值。
3)若提供的参数个数超过两个,只取前两个,格式判断参见1)。
4)若没有提供参数,都使用默认值。
5)因为没用过pppd,所以重启pppd的代码由你自行补上。