在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
答案 0 :(得分:3)
脚本:
#!/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 parameter expansion从输入字符串start
中提取end
和50-60
。
${1#*-}
是-
$1
第一次匹配后的字符串
和
${1%-*}
是-
$1
的最后一场比赛(右起第一场比赛)之前的字符串
答案 1 :(得分:-1)
您可以尝试以下逻辑: ping 192.168.100。{50..60}