linux – zip命令不工作

linux – zip命令不工作,第1张

概述我试图使用 shell脚本命令压缩文件.我正在使用以下命令: zip ./test/step1.zip $FILES 其中$FILES包含所有输入文件.但我正在收到如下警告 zip warning: name not matched: myfile.dat 另外还有一件事我观察到一个文件夹中文件列表中的文件最后有上述警告,该文件没有被压缩. 任何人都可以解释为什么会发生这种情况?我是shell脚本 我试图使用 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列表的末尾有一个回车.

总结

以上是内存溢出为你收集整理的linux – zip命令不工作全部内容,希望文章能够帮你解决linux – zip命令不工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1043240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存