linux - 使用带有 -q 的 git 命令但在失败时不会保持安静?
问题描述
我正在创建一个脚本,在其中克隆 git 存储库。我希望我的脚本在克隆成功时打印“Cloning OK”,在失败时打印“Cloning FAILED”,并忽略这两种情况的所有命令输出。这是我正在使用的代码:
(git clone -q "$url" && echo "$url: Cloning OK") || echo "$url: Cloning FAILED" >&2
问题是,对于成功的克隆,命令会保持安静,但对于不成功的克隆,它不会。我怎样才能让它在这两种情况下都安静下来?
提前致谢
解决方案
您必须通过将标准输出和标准错误发送到终端以外的其他地方来使命令静音。这最容易通过将两个输出流发送到 /dev/null 来实现:
(git clone -q "$url" >/dev/null 2>&1 && …
请注意,关闭此命令将使您的脚本更难调试。
推荐阅读
- reactjs - 带有样式的材质 UI
- reactjs - 谷歌 api 已经出现在 react 应用程序中
- python - 安装 gtts(导入 gTTS)谷歌文本到语音库时出错
- android-studio - Flutter Doctor,Android 许可证状态未知
- python - Python while 循环不止一次询问输入
- python - pandas 数据框更新基于 2 个数据框中的日期值
- node.js - NodeJS 读取部分流
- c++ - 在 C++ 中,你可以根据已经定义的其他变量来定义一个变量吗?
- html - 防止 kotlinx.html DSL 中的 HTML 编码
- javascript - 从按钮动态获取模式中的数据属性