如果我运行…
$ 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
添加扩展名时,文件名是建立从一个变量与数字在它?
当我写下最后一个问题时,我明白了这与数字无关。引用自man zip
:
如果zip文件的名称不包含扩展名,则添加扩展名"。zip"。如果名称中已经包含了.zip以外的扩展名,那么现有的扩展名将保持不变。但是,拆分归档(拆分多个文件的归档)需要在最后一次拆分时使用.zip扩展名。
问题是我在变量中有.
's, zip
将其解释为文件扩展名。幸运的是,我的脚本使用.
构造变量,因此我可以放心地将.zip
添加到末尾。否则,我需要测试.
's以正确命名文件。