在 bash 脚本中使用 zip 时出现以下错误
zip warning: name not matched: test.png test2.png
#!/bin/bash
files_to_zip="test.png test2.png"
zipfile_name=result$(date "+%Y.%m.%d-%H.%M.%S").zip
zip "$zipfile_name" "$files_to_zip"
注意:图像与脚本位于同一目录中,当我执行
zip test.zip test.png test2.png
时,zip 就创建好了。
当名称组合在相同的引号内时,整个字符串将被视为文件名。使用
zip "$zipfile_name" $files_to_zip
相反。如果您的 png 名称包含空格等特殊字符 - 在
$files_to_zip
变量中添加引号或转义此字符
在对目录中的文件进行排序之前添加此行
IFS=$'\n'
files=($(ls | sort))
这对我有用,可以处理正在转换为 zip 文件的输入文件中的数字、破折号、特殊字符