[英]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.