linux – zip命令不工作

前端之家收集整理的这篇文章主要介绍了linux – zip命令不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用 shell脚本命令压缩文件.我正在使用以下命令:
zip ./test/step1.zip $FILES

其中$FILES包含所有输入文件.但我正在收到如下警告

zip warning: name not matched: myfile.dat

另外还有一件事我观察到一个文件夹中文件列表中的文件最后有上述警告,该文件没有被压缩.

任何人都可以解释为什么会发生这种情况?我是shell脚本世界的新手.

解决方法

zip warning: name not matched: myfile.dat

这意味着文件myfile.dat不存在.

如果文件是指向不存在的文件的符号链接,您将收到相同的错误.

正如你所说,$FILES中的最后一个文件是什么,它不会与警告一起添加到zip中.所以我认为创建$FILES的方式有问题.机会在最后一个文件名的末尾有一个换行符,回车符,空格,制表符或其他不可见的字符,导致不存在的东西.尝试这个例子:

for f in $FILES; do echo :$f:; done

我打赌最后一行会不正确,例如:

:myfile.dat :

…或类似的东西,而不是:myfile.dat:最后没有字符:

UPDATE

如果你说这个脚本在运行dos2unix之后开始工作,那么这就证实了每一个人都怀疑的东西,那就是你的$FILES列表的末尾有一个回车.

原文链接:https://www.f2er.com/linux/400864.html

猜你在找的Linux相关文章