将bash变量转换为zip命令的文件名

时间:2012-03-06 18:54:33

标签: bash zip

在bash脚本中,如何使用变量创建专门命名的压缩文件?例如,我想做类似的事情:

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

理想情况下,我最终得到一个名为foo.1.7.3.zip

的文件

好像我有两个问题:

  1. zip命令将$VERSION_STRING视为null或空
  2. .之后的foo似乎也在捣乱

3 个答案:

答案 0 :(得分:28)

您可以使用${VERSION_STRING}清楚地换行变量名称

答案 1 :(得分:15)

以下使用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

答案 2 :(得分:11)

我认为你的拉链输入向后。对我来说,以下命令:

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

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