gpt4 book ai didi

linux - 我们可以在 bash shell 中进行动态替换吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:28:10 24 4
gpt4 key购买 nike

这里我们在 bash shell 中有 2 个变量

ID="ABC"

ID_STRING="Here is the [${ID}]"

有什么方法可以将 ID_STRING 中的 var ${ID} 动态替换为“ABC”并回显到 concole?

最佳答案

如果我正确理解了问题,则 ID_STRING 变量在回显到屏幕时包含文字字符串 ${ID} 并且未按照您在问题中显示的方式进行分配 - 按照您在问题中的方式进行分配使用双引号意味着 ID_STRING 变量实际上从未包含文字字符串 ${ID} 因为使用双引号变量替换是在分配时完成的。所以首先:要将文字字符串 ${ID} 放入 ID_STRING 中,您需要使用单引号。其次:您需要在回显时重新评估 ID_STRING。我这样做($ 是 bash 提示符):

$ ID=ABC
$ echo $ID
ABC

$ ID_STRING='Here is the [${ID}]'
$ echo $ID_STRING
Here is the [${ID}]

$ eval echo $ID_STRING
Here is the [ABC]

$ echo $ID, $ID_STRING, `eval echo $ID_STRING`
ABC, Here is the [${ID}], Here is the [ABC]

关于linux - 我们可以在 bash shell 中进行动态替换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31284503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com