[英]Ping in linux script with case
在Linux中,我使用脚本来ping几个地址。 现在,我希望用户可以执行以下操作: bash Script 50-60
且该脚本ping地址192.168.100.50-192.168.100.60,我使用xx-yy做到了这一点,我尝试过,但是shift
后的部分是错误的。
for i in $*;
do
case $* in
"XX-YY" ) shift;
ping -c 1 192.168.0.$1 - $i
done
脚本:
#!/bin/bash
start=${1%-*}
end=${1#*-}
for ((i=start;i<=end;i++));do
ping -c 1 192.168.0.$i
done
用法:
bash path_to_the_Script 50-60
一点解释:
我使用bash参数扩展从输入字符串50-60
提取start
和end
。
${1#*-}
是$1
第一个-
匹配后的字符串
和
${1%-*}
是的最后一场比赛(右起第一场比赛)之前的字符串-
在$1
您可以尝试以下逻辑:ping 192.168.100。{50..60}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.