当前位置: 首页 > 面试题库 >

我的Makefile为什么不在命令中插入表达式

关浩壤
2023-03-14
问题内容

我正在尝试编写一个超级简单的文件Makefile来在Go项目中运行测试。项目的依赖项已供应,但我想跳过这些测试。从命令行运行时,我只是做

$ go test $(go list ./... | grep -v /vendor/)

但是,当我把它变成Makefile这样的时候:

test:
    go test $(go list ./... | grep -v /vendor/)

.PHONY: test

该表达式将不被评估:

$ make
go test 
?       github.com/m90/some-repo    [no test files]

我如何获得make以类似shell的方式插值表达式的方法?


问题答案:

在Makefile配方部分中,您将需要使用escape $使用第二个$

test:
    go test $$(go list ./... | grep -v /vendor/)

.PHONY: test


 类似资料:
  • 我正在尝试进行MySQL插入,但收到如下错误消息: 下面是create表: 下面是MySQL的字符集和排序规则信息:

  • 我有这个命令来编译我的程序。 我创建了以下makefile。 如果从terminal运行该命令将成功,但make将失败。 它将失败,并出现错误 该文件应该在命令中使用导入。 我认为Makefile中的命令执行起来很像bash脚本。 在bash中运行命令和在Makefile中运行命令有什么区别?

  • 问题内容: 我正在尝试使用CASE表达式创建一个持久化的计算列: MSDN明确表示CASE是确定性的,这里 但是,我得到一个错误: 消息4936,级别16,状态1,行1表’Calendar’中的计算列’PreviousDate’无法保留,因为该列是不确定的。 当然,我可以创建一个标量UDF并将其显式声明为确定性的,但是有没有更简单的方法呢?我已经在获取最新的Service Pack中。谢谢。 问题

  • 我不知道为什么这个正则表达式不匹配。也许你能发现错误。 ficontents: 我想匹配>>>>>>客户端9462<<<<<捕获该号码,以及此后的所有内容,直到另一个客户端号码。所以我的第一个捕获是“9462”,第二个捕获是“Had a program exception;please check the error log”。 它使用JavaScript设置在regex101.com中工作得很好

  • 我有一个通过express连接的SQLite数据库,并且有使用express路由连接前端和后端的控制器。 表数据库 Knex插入行 反应前端 这里的问题是在前端,当我使用时,我得到的值为null,但当我用“text”替换stock.symbol,我得到的值为text。我在这里做错了什么?谢谢! 附注-这是常量存货