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命令不工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)