0

在 UNIX 中:

我有几个变量:

FOLDER0=/home/user0
FOLDER1=/home/user1
FOLDER2=/home/user2
FOLDER3=/home/user3
FOLDER=FOLDER

for i in 0 1 2 3
do
${FOLDER}${i} // print /home/user0, /home/user1 and so on based on value of i
done

${i}${FOLDER} 的值应该根据 i 的值打印 /home/user0、/home/user1 等等有什么办法可以实现吗?

编辑: 将数字放在变量的末尾而不是开头。

4

1 回答 1

2

使用eval

#!/usr/bin/bash

FOLDER0=/home/user0
FOLDER1=/home/user1
FOLDER2=/home/user2
FOLDER3=/home/user3
FOLDER=FOLDER

for i in {0..3}; do
  eval var=\${FOLDER${i}}
  print $var
done

注意:我的循环是特定于 bash/ksh 的,但eval构造不是。

于 2012-06-14T23:52:40.363 回答