如何在bash中的文件名中插入变量?

我目前正在学习bash并学习了一些基础知识。

现在我想要一个文件的变量名(例如'Backup_2020-04-24'),它不起作用。

我还应该提到我在MacOS设备上

看起来像什么:

variable = "test" tar -zcvf projects_${variable}.gzip testfolder

预期:名为testfolder的文件夹中的gzip文件,名称为projects_test。

gzip是在测试文件夹中创建的,但是名称为“ projects_”。

有谁知道为什么会这样,并可以向我解释?回显时,变量不为空。

如果这篇文章的格式不好,不好意思,这是我在这里的第一篇文章。请不要犹豫告诉我下次该做什么

评论
  • 柯
    回复

    It might be the spaces around variable = "test". Try variable=test instead? (This should really be a comment, but I don't have enough rep yet to comment).

    Or if the value you want variable to take on is something that needs to be computed:

    foo=$(date --date='@2147483647')
    echo $foo
    #> Mon Jan 18 19:14:07 PST 2038