use*_*571 3 shell makefile pipe
我需要帮助:以下命令行不起作用
TESTS := $(shell cat test_cases_file | egrep -v ^\s*(#|$) )
all: $(TESTS)
Run Code Online (Sandbox Code Playgroud)
当我启动时:
make all
Run Code Online (Sandbox Code Playgroud)
我收到类似“shell 命令调用未完成”之类的错误。
您在egrep参数中缺少引号。如果我make我也会相信 # 是评论的开头。
显然,简单地添加引号是没有帮助的,您还需要转义#。
编辑:实际上$也必须转义,如果是的话,make可以使用$$
尝试这个:
TESTS := $(shell egrep -v '^\s*(\#|$$)' test_cases_file)
all: $(TESTS)
Run Code Online (Sandbox Code Playgroud)
最后,你真的不需要丢弃空行 - 这不会有什么坏处:
TESTS := $(shell egrep -v '^\s*\#' test_cases_file)
all: $(TESTS)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8006 次 |
| 最近记录: |