2012-03-06 49 views
18

在bash脚本中,如何使用变量创建专门命名的压缩文件?例如,我想这样做:将bash变量变为zip命令的文件名

VERSION_STRING='1.7.3' 
zip -r foo.$VERSION_STRING foo 

哪里最好有一个名为结束foo.1.7.3.zip

好像我有2个问题:

  1. 拉链命令正在治疗$VERSION_STRING就像它是空的或空的
  2. .foo也似乎是把它弄糟

回答

8

以下罚款作品在这里使用bash 4.1.5:

#!/bin/bash 

VERSION_STRING='1.7.3' 
echo zip -r foo foo.$VERSION_STRING.zip 

我已经添加了echo看到实际的命令,而不是运行它。脚本打印出

zip -r foo foo.1.7.3.zip 
+0

谢谢,回应命令告诉我,我的变量有一个空间,这是搞砸了拉链创作。 – 2012-03-06 19:10:21

20

可以使用${VERSION_STRING}清楚地包装你的变量名

8

我觉得你有你的拉链输入倒退。对我来说,下面的命令:

zip -r foo.${VERSION_STRING}.zip foo 

创建一个有效的zip文件。你的命令没有(至少使用我的zip版本)。