我正在从我编写的应用程序调用该命令。
zip -rm9T --password pass123 /home/cats.zip /home/cats-data/
我正在为档案设置密码,并指定在创建档案后使用 -T 开关检查档案的完整性。
问题是这两件事不能很好地协同工作。
归档部分进展顺利,但是当它尝试检查档案的完整性时,它不知道密码并希望密码来自标准输入...我已经给了它密码...我不知道为什么它再次需要它...并且以如此不方便的方式......
我怎样才能让它工作?
答案1
似乎没有好的方法来旁路不幸的是,应用程序存在此限制zip
。但是,如果您正在编写此脚本好的解决方法是使用该unzip
实用程序在脚本的后续行中测试 zip 文件。
因此,您将得到类似以下内容的内容(省略 选项-T
)zip
:
zip -rm9 --password pass123 /home/cats.zip /home/cats-data/
unzip -t -P pass123 /home/cats.zip
这应该就能实现你的目标了!
笔记:
我使用过的选项unzip
有:
-t
测试存档文件。此选项提取内存中的每个指定文件,并将扩展文件的 CRC(循环冗余校验,增强型校验和)与原始文件存储的 CRC 值进行比较。-P
使用密码解密加密的 zip 文件条目(如果有)。