繁体   English   中英

变量内部的Shell Script变量

[英]Shell Script variable inside a variable

我正在编写一个shell脚本,如下所示。

#/bin/bash

ip1="1.1.1.1"
ip2="2.2.2.2"

for ((i=1; i<=2; i++))
do
echo "$[ip$i]"

done

我跑完后得到错误。
./1.sh:8行:1.1.1.1:语法错误:算术运算符无效(错误标记为“.1.1.1”)

非常感谢 !

使用间接变量扩展。

#/bin/bash

ip1="1.1.1.1"
ip2="2.2.2.2"

for ((i=1; i<=2; i++))
do
  var="ip$i"
  echo "${!var}"
done

但是,更好的想法是使用数组。

ips=( "1.1.1.1" "2.2.2.2" )
for ip in "${ips[@]}"; do
   echo "$ip"
done

for ((i=1; i<=${#ip[@]}; i++)); do
   echo "${ips[i]}"
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM