如何在我的Makefile中的一行中制作此代码

时间:2018-06-29 12:33:16

标签: linux bash makefile

您有想法一次性执行这些操作吗?

PROJECT_NAME    := $(if $(CI),$(CI_PROJECT_NAME),$(PROJECT_NAME))
PROJECT_NAME    := `echo $(PROJECT_NAME) | tr A-Z a-z`

2 个答案:

答案 0 :(得分:3)

PROJECT_NAME    := `echo $(if $(CI),$(CI_PROJECT_NAME),$(PROJECT_NAME)) | tr A-Z a-z`

但是,很抱歉听到您缺少换行符并且需要保存它们。我有几十个现成的货源,可以根据需要向您发送。 (如果您未使用ASCII,则必须检查库存的产品。有些数字比其他数字难获取。)

您可能还想使用shell来使echo命令在PROJECT_NAME设置期间执行一次,而不是每次在命令中都使用它:

PROJECT_NAME    := $(shell echo $(if $(CI),$(CI_PROJECT_NAME),$(PROJECT_NAME)) | tr A-Z a-z)

答案 1 :(得分:1)

只需将第二个命令中的> POST /xstreams/v1/submitJob HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 10.xxx.xx.xx:9090 > Accept: */* > Content-Type: application/json > Content-Length: 42464 > * upload completely sent off: 42464 out of 42464 bytes 变量替换为第一个命令中的赋值即可。

另外,使用PROJECT_NAME代替反引号来运行shell命令。

$(shell cmd)