gpt4 book ai didi

linux - 如何从文件读取变量,修改并将其保存到另一个变量

转载 作者:行者123 更新时间:2023-12-03 10:01:10 27 4
gpt4 key购买 nike

我想要的是:
有一个包含变量的/scripts/backup/config.cfg文件。在我的具体情况下,重要的是:

BACKUPLOCATION=""
ROOTLOCATION="/backup"
然后是一个脚本 /scripts/backup/performBackup.sh由于特定的原因,我希望脚本的一部分执行以下操作:
  • 读取变量ROOTLOCATION的值
  • 添加一个(“/”和)时间戳(日期和时间)
  • 将新创建的值安全存储到BACKUPLOCATION中(通过替换其当前值)


  • 如果这是 config.cfg的先前状态:
    BACKUPLOCATION="dummy"
    ROOTLOCATION="/backup"
    脚本运行后应该是:
    BACKUPLOCATION="/backup/2020-05-02-23-00"
    ROOTLOCATION="/backup/"
    我尝试了什么
    首先,使用以下命令“加载”配置文件
    source /scripts/backup/config.cfg
    然后,我尝试使用 sed命令,但引号使我感到困惑。这是一种尝试(无效):
    sed -i 's/BACKUPLOCATION\=.*/BACKUPLOCATION="'$ROOTLOCATION/$(date +%Y-%m-%d-%H-%M)'"/' /scripts/backup/config.cfg

    最佳答案

    尝试这个:

    source /scripts/backup/config.cfg
    sed -i 's|BACKUPLOCATION=.*|BACKUPLOCATION="'"$ROOTLOCATION/$(date +%Y-%m-%d-%H-%M)"'"|' /scripts/backup/config.cfg

    sed的问题是您将 /用作分隔符,扩展后在 $ROOTLOCATION中存在该分隔符,因此sed失败。我使用了 |,它通常不存在于文件名中。如果您使用 |创建文件,那么sed也将失败!因此,“了解您的数据” :)

    关于linux - 如何从文件读取变量,修改并将其保存到另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61566663/

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