这是将变量与bash中的其他文本分开的方法:
${PROJECT}_${GITCOMMIT}.tar.gz
如果PROJECT =测试 和GITCOMMIT = 222
这会给你test_222.tar.gz吗? 在涉及变量时,何时应该使用大括号{}? 还有其他方法可以将bash中的变量与文本分开吗?
答案 0 :(得分:0)
是的,这是做到这一点的方法。然而,你的问题是乱码;你在两个变量表达式之间有一个下划线,所以你不会在结果字符串中找到彼此相邻的“test”和“222”。
答案 1 :(得分:0)
通常,大括号是如何在以下文本中界定变量名称中的文本。在你的情况下,
$PROJECT$GITCOMMIT.tar.gz # test222.tar.gz
就足够了,因为启动$
的{{1}}不能是前面参数名称的一部分。 (与GITCOMMIT
之前的.
相同;不能有名为tar
的变量。)如果GITCOMMIT.
后跟 literal 文本,大括号是必要的:
$PROJECT