如何将文件压缩到文件夹并不存在bash脚本linux

时间:2015-12-22 22:17:31

标签: linux bash

我想将文件夹压缩到不存在的目录。类似于

zip -r /home/unExistFolder/test.zip /home/logFolder

如果没有此类文件夹,则创建文件夹。如果有文件夹,只需输入即可。

我怎么能意识到这一点?

1 个答案:

答案 0 :(得分:1)

 newDir="/path/with spaces/to/archive"

 if ! [[ -d "$newDir" ]] ; then
     mkdir -p "$newDir"
 fi
 zip  -r /home/unExistFolder/test.zip "$newDir"

某些版本的zip可能会提供"如果目录不存在,我会制作目录"功能/选项,但如果您想要一些始终有效的东西,这是您最好的选择。

我已将newDir等于" / path / with spaces / to / archive"提醒您,如果您没有引用变量的引用,则会收到神秘的错误消息。虽然在某些情况下您不想dbl引用变量,但通常您应该在shell脚本中引用所有变量用法。

IHTH