首页 > 解决方案 > 用bash中的变量更新全局变量的值

问题描述

如何更新变量内部的变量并使其保持全局?

我知道我可以这样做来更新一个变量,但它不是全局的:

for i in {1..24}; do 
    query=query_$i
    echo $query
done

我想做这样的事情:

query=query_$i

for i in {1..24}; do
    echo $query
done

变量不更新。

标签: bashscriptingscripting-language

解决方案


我真的不明白你为什么需要这样做。如果是测验,我能想到的一种方法是query在“for”循环中作为命令运行:

query='echo query_$i'                                                                                                      

for i in {1..24}; do                                                                                                       
    eval $query                                                                                                            
done      

推荐阅读