在 Linux bash 中使用 zip 命令

在 Linux bash 中使用 zip 命令

我目前正在 bash 上进行练习。尝试使用 bzip2 gzip 和 zip 来确定哪种方式是最有效的压缩程序。问题出在 zip 命令部分。它可以工作并回显压缩文件的大小。然而,linux表明

line 22: adding:: command not found

在此输入图像描述

答案1

该错误来自您的使用$()

$(zip "$1.zip" $1)

这是命令替换,它将命令替换为其输出。因此 shell 获取zip的输出并尝试将其解释为 shell 脚本的一部分:

adding: ...

adding:在您的系统上不是有效命令,并且 shell 会对此进行抱怨。

您应该直接运行命令:

zip "$1.zip" "$1"

如果你想摆脱它的输出,重定向它,或者使用zip-q选项(“quiet”):

zip "$1.zip" "$1" > /dev/null
zip -q "$1.zip" "$1"

这仍然会显示发生的任何错误。

答案2

确保您已安装 zip 命令。我使用的是 Debian Linux,尽管安装了 unzip,但默认情况下并未安装 zip。

此外,调用 zip 的命令的语法与调用 gzip 和 bzip2 的命令不同:

"$1.zip" versus "${1}.bz2" and "${1}.gz"

相关内容