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