【问题标题】:An issue with variable expansion. Get a variable into the name of the variable to echo [duplicate]变量扩展的问题。获取一个变量到要回显的变量名中[重复]
【发布时间】:2021-02-28 09:54:34
【问题描述】:

非常感谢您对此的帮助。我有 3 个字符串,我想随机回显其中一个。

INTRO0="Welcome to Foo"
INTRO1="Foo welcomes you"
INTRO2="We are glad to see you at Foo"

R=$((RANDOM%3))

echo $INTRO${R}

我希望它能够扩展 R 的值,因此它会将其解释为例如回声 $INTRO1

我已经让它与 if 语句一起工作,它检查 R 的值并打印适当的 INTRO,但如果我有 10 个字符串,它会与 if 语句混淆。这种方式可以吗?

谢谢

【问题讨论】:

    标签: bash shell variables expansion


    【解决方案1】:

    对于 bash:

    intro_r=INTRO$R
    echo ${!intro_r}
    

    但我会使用单个数组 intro 而不是三个单独的变量 INTRO1 等等:

    intro=( "..." "..." "..." )
    echo ${intro[$R]}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 2020-01-07
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多