拼接新的变量名

##shell变量作为另一个变量名

使用eval

1
2
3
#!/bin/sh
i=1
eval echo '$'rediscache$i

例1:

1
2
3
dev@pirate-test:~chimps (master *%) $ i=1                                                                                                              
dev@pirate-test:~chimps (master *%) $ eval echo '$'rediscache$i
10.100.100.100

例2

1
2
3
4
5
6
7
#!/bin/sh

for ((i = 1; i < 60; i++)); do
redis=$(eval echo '$'rediscache$i)
count=$(redis-cli -h $redis -a ***** DEL key1)
echo {idx:,$i,redis:,$redis,count:,$count}
done