【问题标题】:In Shell script process variables in text [duplicate]在文本中的Shell脚本过程变量中[重复]
【发布时间】:2020-09-04 20:59:15
【问题描述】:

我有一个文件'test.txt',内容是“SomeText_$(date '+%Y%m%d')”。 将其读入变量时:

txt=`cat test.txt`

然后我尝试使用打印

echo $txt

这会打印:“SomeText_$(date '+%Y%m%d')” 如何打印此内容以便收到“SomeText_20200904”

【问题讨论】:

    标签: shell variables sh


    【解决方案1】:

    发布的echo 将显示来自$txt 的内容,但不执行任何其他操作。 这里的第二行 eval 将读取并处理后面的内容,然后将结果作为 shell 命令执行

    txt=`cat test.txt`
    eval echo $txt
    

    【讨论】:

    • 感谢您的回答。这很好,我意识到我需要使用 'result=$(eval echo "$txt") 保存结果。这引发了一个问题,我只想评估像 $(some var) 这样的变量,而不是像 '(' 或 '*' 这样的东西。你知道忽略这些的方法吗?
    猜你喜欢
    • 2017-12-16
    • 2011-08-24
    • 2016-11-05
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    相关资源
    最近更新 更多