【问题标题】:Dynamic variable in shellshell中的动态变量
【发布时间】:2015-04-03 19:22:37
【问题描述】:
#!/bin/bash
channel_name='new1 new2 new3'

for i in $channel_name
do
        eval ${i}_count=1
        echo ${i}_count
done

Output:
new1_count
new2_count
new3_count

我想显示 new1_count、new2_count 等的值,即 1

【问题讨论】:

  • 我能猜出你在问什么,但你可以更容易理解你的意思......
  • 存在关于此的各种问题(和答案),例如 thisthis。此外,在网上搜索“bash 动态变量”会得到 this
  • Bash dynamic variable names 的可能副本
  • 而不是在重复或这个或那个上跳跃。请看一下代码。我不是合并两个变量来获取一个值,而是尝试获取一个变量的值,该变量是其他变量的值和文本的组合。
  • 如果您觉得人们没有正确理解您的问题,您可能需要更加努力地解释您想要什么、您尝试过什么以及没有按预期工作的方式。

标签: linux bash variables sh


【解决方案1】:

NVM,解决了。可能会帮助其他人。

#!/bin/bash

channel_name='new1 new2 new3'

for i in $channel_name
do
    eval ${i}_count=1
    echo $((${i}_count))
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 2011-12-26
    • 2012-06-04
    • 2015-09-29
    • 2021-10-17
    • 2023-01-19
    • 1970-01-01
    相关资源
    最近更新 更多