【问题标题】:A variable of which a part is variable一部分可变的变量
【发布时间】:2013-10-04 10:04:37
【问题描述】:

我的变量看起来像这样:

$INFOMonday
$INFOTuesday

在我的 Bash 脚本中,我想使用 todays 变量的值,可以这么说。我提取了这一天:

dayofweek=$(date --date=${dateinfile#?_} "+%A")

我需要帮助的是执行以下操作:

echo $INFO$dayofweek

有没有办法将变量添加为变量名称的一部分?例如,如果是星期一,则回显将返回 $INFOMonday 的值。

【问题讨论】:

  • 为什么不使用关联数组呢?
  • @mbratch 这只适用于星期一。我希望第二部分是可变的。
  • @IgnacioVazquez-Abrams 我不知道该怎么做。

标签: linux bash variables dynamic


【解决方案1】:

这样做的老式方法是使用间接运算符${!variable}

dayofweek=$(date...)
var=INFO$dayofweek
echo ${!var}

请注意,在${!var} 中,var 必须是变量名,而不是字符串表达式或其他类型的替换。有点笨重。

较新的做法是使用associative array

【讨论】:

  • 非常感谢。工作正常。我也会看看关联数组。
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2018-09-22
  • 2021-04-03
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
相关资源
最近更新 更多