我正在编写一个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”)
非常感谢你!
答案 0 :(得分:2)
使用间接变量扩展。
#/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