首页 > 解决方案 > 如何在bash的文件名中插入变量?

问题描述

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

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

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

它看起来像什么:

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

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

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

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

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

标签: bashmacosshellscripting

解决方案


可能是周围的空间variable = "test"。试试variable=test?(这真的应该是一个评论,但我还没有足够的代表发表评论)。

或者,如果您要variable获取的值是需要计算的:

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

推荐阅读