![无法打开使用 shell 脚本创建的 zip 文件](https://linux22.com/image/982932/%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E4%BD%BF%E7%94%A8%20shell%20%E8%84%9A%E6%9C%AC%E5%88%9B%E5%BB%BA%E7%9A%84%20zip%20%E6%96%87%E4%BB%B6.png)
我尝试制作一个备份脚本,但是当我使用该脚本创建一个 zip 文件并使用cd myzip
它时,即使我可以使用 FileZilla 在服务器上看到它,它也不存在。
这是我的脚本:
TIME=BACKUPMC-`date +%d-%m-%Y-%H:%M`.zip
DEST="/home/daixhosting/d1"
zip -r $TIME /home/daixhosting/d1
有人知道这是什么原因吗?
答案1
文件名中有回车符\r
,因此您无法使用通常的方式解析文件。
要从文件名中删除所有字符,请在包含文件的目录\r
中运行以下命令:bash
for file in *; do mv -i "$file" "$(sed 's/\r//g'<<<"$file")"; done
现在所有文件都不应该包含\r
在其中,现在您可以zip
使用通常的方式例如:
zip -r foo.zip /home/foobar/spam/
答案2
尝试将 zip 文件的名称更改为不带“:”的文件名。
如果这不是问题所在,请考虑文件可能已损坏。因此,您将尝试修复它并可能保存部分信息。例如,
zip -F broke.zip --out pleasework.zip
或者
zip -FF broke.zip --out pleasework.zip