我正在尝试改进我的CI工具,并且为了达到这个目的,我正在尝试捕获git clone命令的输出结果,这让我感到很困扰。
为了简化情景,我将问题简化成了这个简单的命令:
git clone --progress https://github.com/$REPO.git $FOLDER 2>&1 | xargs echo -
我使用2>&1
将stderr(由git用于输出进度)重定向到stdout,然后尝试将其传输到xargs echo -
。在我的实际情况中,xargs echo
将被其他内容替换。
我使用--progress来强制git即使未连接到真正的控制台也要详细显示。
我期望的输出应该是:
- Cloning into 'a3'...
- remote: Counting objects: 54130, done.
- remote: Compressing objects: 100% (520/520), done.
我的输出变成了绝对的空白。
我在OSX 10.11上进行测试。
有人知道这个命令错在哪里吗?
非常感谢您提前的帮助。