【发布时间】:2022-01-04 22:51:19
【问题描述】:
我有 2 个使用 zip 命令的 bash 脚本,但一个脚本 zip 命令给出以下错误。
压缩警告:名称不匹配:file1.txt file2.txt
这是我在两个脚本中都使用的命令。
zip "${updates_zip}.patch.zip" $(ls)
我试图打印目录的内容并且 file1.txt 和 file2.txt 存在,但 zip 命令仍然给出上述错误。
似乎在 1 个脚本中它考虑了 file1.txt file2.txt 2 个不同的文件,但在另一个脚本中,它正在考虑 file1.txt file2.txt 一个名称中包含空格字符的单个文件。但是,我没有用引号将文件名括起来。两个脚本的 zip 命令的编写方式与上述完全相同。
【问题讨论】:
-
为什么不将该单线分解为单独的步骤并将每个结果分配给单独的变量?调试变得更容易。编辑:编辑后:请提供minimal reproducible example 以及
$(ls)打印的示例。它看起来像一个薄弱环节。 -
是的,我试过没有密码的 zip 命令,但还是一样
-
我提供了给出错误的 zip 命令。无法分享完整的脚本。
-
我不是要完整的脚本。 minimal reproducible example 不是这样的。
-
不要使用
$(ls)。请改用*。