我正在使用git来管理一些自定义包。如果包不在第一个repo中,我想运行另一个尝试其他源的命令。我不需要告诉用户这种情况正在发生。用户不需要知道git存在。
if ! git clone git@gitlab.com:username/repo directory -q
then
#do something else
fi
即使使用-q
,git仍会在控制台中输出致命错误。
那么,我该如何沉默小git?
答案 0 :(得分:8)
两种方式:
git clone git@gitlab.com:username/repo directory > /dev/null 2>&1
- 年龄较大的bash
和
git clone git@gitlab.com:username/repo directory &> /dev/null
- 更新的bash(根据以下链接在版本4以上)
有关详细信息,请参阅I/O Redirection in Bash。
基本上你在这里做的是将stdout
和stderr
重定向到/dev/null
,这是"无处"。
答案 1 :(得分:0)
git clone git@gitlab.com:username / repo directory> / dev / null 2>& 1 - 较旧的bash
以上会更兼容,