所以我创建了一个脚本,允许您输入一个数字,导出它,然后导入它并在循环中使用它。这就是我的意思:
read NumberOfVMs "How many do you want? "
echo $NumberOfVMs > /variables/NumberOfVMs
然后呢;
while [ $NumberOfVMs -gt 0 ];do
# This is the loop I use to repeat the effects I want.
# This method works fine for me.
NumberOfVMs=$((NumberOfVMs-1))
done
但是,我得到的是我需要使用按编号列出的变量(基于$ NumberOfVMs等于。我还想将数字填零为4个。我知道我可以做零填充$(printf %04g $NumberOfVMs)
。
例如,我想在提出问题时能够将3个变量(分别在0001,0002和0003中添加到变量名的末尾)。我目前正在这样做
while [ $NumberOfVMs -gt 0 ];do
read -p "Enter percentage of RAM to allot GuestOS (1-99): " percentram$(printf %04g $NumberOfVMs)
NumberOfVMs=$((NumberOfVMs-1))
done
并且,虽然我确实相信(我可能错了),但是,正在编写的是percentram0001 - 我无法弄清楚如何在使用变量时动态使用它
$percentram$(printf %04g $NumberOfVMs)
不等于percentram0001
,而是等于添加了0001的percentram
的输出。
如果你能帮助我,请永远爱你。
答案 0 :(得分:2)
您可以使用eval hack:
NumberOfVMs=10
read -p "Enter percentage of RAM to allot GuestOS (1-99): " count
eval "percent$(printf %04g $NumberOfVMs)=$count"
echo $percent0010