使用变量创建变量?

时间:2012-09-03 15:19:53

标签: bash

有人能解释我如何赚2美元和2美元$ 3这些num1& num2所以我可以改变我的ping公式的起始和结束数字?在我的公式中没有改变任何东西。

num1=1
num2=255

until [ -z $1 ] 

  case in "$1" in 

               a) $2="$num1"
                  $3="$num2" ;;
   [0-9]*-[0-9]*) $num1=${1%-*} 
                  $num2=${1#*-}

  esac
done

for ip in $(seq $num1 $num2); do
  ping -c 1 -w 1 192.168.1.$ip>/dev/null; && eho "192.168.1.$ip is up" ||:;
done

1 个答案:

答案 0 :(得分:0)

在bash手册中查找间接。不明确地,!引入了变量间接。

$ a=hello
$ var=a
$ echo ${!var}
hello

修改

num1=1
num2=255
case in "$1" in 
a)
    num1=$2;
    num2=$3
    ;;
[0-9]*-[0-9]*)
    num1=${1%-*} 
    num2=${1#*-}
    ;;
esac

for ip in $(seq $num1 $num2); do
    ping -c 1 -w 1 192.168.1.$ip>/dev/null && echo "192.168.1.$ip is up" ||:;
done