Bash - 在while循环中回显变量值

时间:2015-11-19 21:14:54

标签: bash

这个可能很简单。我有一个简单的while循环,要求用户输入数据

while [ $i -le $numMasterNodes ]; do
    echo "Enter hostname #$i: "
    read masterHost$i
    ((i+=1))
done

我正在尝试在循环中获取$masterHost$i的值,例如

while [ $i -le $numMasterNodes ]; do
    echo "Enter hostname #$i: "
    read masterHost$i
    echo $masterHost$i
    ((i+=1))
done

但是,它只返回1 2 3等等......如何获取$masterHost$i的值,以便将其添加到数组中?

谢谢!

1 个答案:

答案 0 :(得分:2)

你可能会对数组更满意。见http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_10_02.html

请注意,如果您已经了解数组,我不确定您为什么不直接在循环中使用数组。

以下是您重新编写的示例:

#!/bin/bash -

i=1
numMasterNodes=3

declare -a masterHost

while [ $i -le $numMasterNodes ]; do
    echo "Enter hostname #$i: "
    read masterHost[$i]
    echo ECHO ${masterHost[$i]}
    ((i+=1))
done