pipe道输出到命令和terminal
我们在jenkins有命令:
IMAGE_ID=$(docker build -t $REGISTRY/something/$BRANCH:latest docker/ | tail -n1 | awk '{ print $3 }')
获取图像ID,但问题是,我们没有看到docker build -t $REGISTRY/something/$BRANCH:latest docker/
输出docker build -t $REGISTRY/something/$BRANCH:latest docker/
。
我们应该如何pipe输出,我们仍然可以得到IMAGE_ID和看到输出?
…我们缺乏linux大时间的技能…
祝你有美好的一天!
如果我得到它,你需要docker构build的输出。
解决方法是使用tee
并将docker的stdout复制到stderr
IMAGE_ID=$(docker build -t $REGISTRY/something/$BRANCH:latest docker/ | tee /dev/stderr | tail -n1 | awk '{ print $3 }')