如何使用带有序列号的Linux shell变量?

如何使用带有序列号的Linux shell变量?,linux,Linux,我定义了如下几个变量: TEMP1=1 TEMP2=1 TEMP3=1 然后我想像这样在for循环中使用它们,但失败了。如何让它工作?将变量与序列号一起使用 for i in 0 1 2 3 do if [[ $(TEMP{i}) -eq 1 ]]; then do something 我认为您可能需要一个bash数组: #!/bin/bash temp=(1 4 9 16) for i in {0..3}; do echo ${temp[i]} done

我定义了如下几个变量:

TEMP1=1
TEMP2=1
TEMP3=1
然后我想像这样在
for循环中使用它们,但失败了。如何让它工作?将变量与序列号一起使用

for i in 0 1 2 3
do
    if [[ $(TEMP{i}) -eq 1 ]]; then
        do something

我认为您可能需要一个
bash
数组:

#!/bin/bash

temp=(1 4 9 16)
for i in {0..3}; do
   echo ${temp[i]}
done
样本输出

1
4
9
16
您可能也应该避免大写变量名,因为它们是保留的

如果这离您的舒适区有点远,这可能更接近您的思维方式,但它使用了与
bash
阵列相同的底层技术:

TEMP[0]=1
TEMP[1]=4
TEMP[2]=9

echo ${TEMP[2]}       # echoes "9"