如果我跑......
$ myTest="bar"
$ zip -r foo-${myTest} path/*
...然后我得到一个名为foo-bar.zip
的zip文件。 (注意.zip
扩展名!)但是,如果我跑...
$ myTest="1.0.1"
$ zip -r foo-${myTest} path/*
...然后我得到一个名为foo-1.0.1
的zip文件。 (没有.zip
分机!)
我显然可以在我的脚本中添加.zip
,但我想了解这里发生了什么。为什么zip
在从包含数字的变量构建文件名时不添加扩展名?
答案 0 :(得分:0)
当我写下最后一个问题时,我突然意识到这与数字无关。引自man zip
:
如果zip存档的名称不包含扩展名,则添加扩展名.zip。如果名称已包含.zip以外的扩展名,则现有扩展名保持不变。但是,拆分存档(存档分为多个文件)在最后一次拆分时需要.zip扩展名。
问题是我在变量中有.
,zip
解释为文件扩展名。幸运的是,我的脚本使用.
构造变量,因此我可以放心地将.zip
添加到最后。否则,我需要测试.
以正确命名文件。