首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去工具兽医。| grep -v供应商;true

去工具兽医。| grep -v供应商;true
EN

Stack Overflow用户
提问于 2019-02-08 10:21:05
回答 1查看 168关注 0票数 0
代码语言:javascript
复制
all: gotool
    @go build -v .
clean:
    rm -f apiserver
    find . -name "[._]*.s[a-w][a-z]" | xargs -i rm -f {}
gotool:
    gofmt -w .
    go tool vet . |& grep -v vendor;true

help:
    @echo "make - compile the source code"
    @echo "make clean - remove binary file and vim swp files"
    @echo "make gotool - run go tool 'fmt' and 'vet'"
    @echo "make ca - generate ca files"

.PHONY: clean gotool help

与这个推荐的go tool vet . |& grep -v vendor;true混淆,并在执行此操作时出错...

代码语言:javascript
复制
$ make
gofmt -w .
go tool vet . |& grep -v vendor;true
/bin/sh: 1: Syntax error: "&" unexpected
Makefile:7: recipe for target 'gotool' failed
make: *** [gotool] Error 2
EN

回答 1

Stack Overflow用户

发布于 2019-02-08 12:49:02

该命令尝试将标准输出和标准错误都重定向到grep。可移植的(主观上更好的)方法是

代码语言:javascript
复制
go tool vet . 2>&1 | grep -v vendor || true

尾随的true将导致make命令成功,即使grep找不到任何匹配项(即没有不包含vendor的输出行)。回想一下,make在缺省情况下会在出现第一个错误时中断编译;这避免了显然只为监视或娱乐而运行的命令出现错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54585229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档