将 git 命令与 -q 一起使用,但在失败时不会保持安静?

Using git command with -q but doesn't stay quiet when failed?

我正在创建一个脚本,用于克隆 git 个存储库。我希望我的脚本在克隆成功时打印 "Cloning OK",在克隆失败时打印 "Cloning FAILED",并忽略这两种情况下的所有命令输出。这是我正在使用的代码:

(git clone -q "$url" && echo "$url: Cloning OK") || echo "$url: Cloning FAILED" >&2

问题是,对于成功的克隆,命令会保持安静,但对于不成功的克隆,则不会。我怎样才能让它在这两种情况下都安静下来?

output of command

提前致谢

您必须通过将标准输出和标准错误发送到 somewhere other than the terminal 来使命令静音。通过将两个输出流发送到 /dev/null:

最容易实现
(git clone -q "$url" >/dev/null 2>&1 && …

请注意,静默此命令会使您的脚本更难调试。