【问题标题】:How to understand variable and variable's value in bash [duplicate]如何理解bash中的变量和变量的值[重复]
【发布时间】:2017-04-18 02:43:55
【问题描述】:
#!/bin/bash

list="one two three"
one=1
two=2 
three=3
for k in $list
do 
    echo $k
done

对于上面的代码,输出是:
一个
两个


但我一直认为它应该输出:
1
2
3
这很令人困惑。这个怎么理解?

【问题讨论】:

    标签: bash


    【解决方案1】:

    扩展$k 只是将变量的名称作为字符串提供给您。如果你想要变量的值,你必须使用参数扩展语法${!k}。这记录在here

    #!/bin/bash
    
    list="one two three"
    one=1
    two=2 
    three=3
    for k in $list
    do 
            echo "${!k}"
    done
    

    输出

    1
    2
    3
    

    【讨论】:

      猜你喜欢
      • 2013-08-02
      • 2012-06-01
      • 2018-06-15
      • 2011-02-20
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 2018-09-23
      相关资源
      最近更新 更多