沉默git(没有错误,没有输出,不说一句话)

时间:2015-05-21 16:02:53

标签: git bash silent

我正在使用git来管理一些自定义包。如果包不在第一个repo中,我想运行另一个尝试其他源的命令。我不需要告诉用户这种情况正在发生。用户不需要知道git存在。

if ! git clone git@gitlab.com:username/repo directory -q
        then
            #do something else
        fi

即使使用-q,git仍会在控制台中输出致命错误。

那么,我该如何沉默小git?

2 个答案:

答案 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。 基本上你在这里做的是将stdoutstderr重定向到/dev/null,这是"无处"。

答案 1 :(得分:0)

git clone git@gitlab.com:username / repo directory> / dev / null 2>& 1 - 较旧的bash

以上会更兼容,