Linux 如何在Makefile中的一行中生成此代码

Linux 如何在Makefile中的一行中生成此代码,linux,bash,makefile,Linux,Bash,Makefile,你有办法把这些动作用一行来完成吗 PROJECT_NAME := $(if $(CI),$(CI_PROJECT_NAME),$(PROJECT_NAME)) PROJECT_NAME := `echo $(PROJECT_NAME) | tr A-Z a-z` 但是,我很遗憾地听说您缺少新行字符,需要保留它们。我有十个现成的货源,你需要多少就寄多少。(如果您不使用ASCII码,我必须检查我的库存。有些数字比其他数字更难获得。) 您还可以使用shell使echo命令在设置PROJE

你有办法把这些动作用一行来完成吗

PROJECT_NAME    := $(if $(CI),$(CI_PROJECT_NAME),$(PROJECT_NAME))
PROJECT_NAME    := `echo $(PROJECT_NAME) | tr A-Z a-z`
但是,我很遗憾地听说您缺少新行字符,需要保留它们。我有十个现成的货源,你需要多少就寄多少。(如果您不使用ASCII码,我必须检查我的库存。有些数字比其他数字更难获得。)

您还可以使用
shell
使echo命令在设置
PROJECT\u NAME
期间执行一次,而不是每次在命令中使用时执行一次:

PROJECT_NAME    := $(shell echo $(if $(CI),$(CI_PROJECT_NAME),$(PROJECT_NAME)) | tr A-Z a-z)
但是,我很遗憾地听说您缺少新行字符,需要保留它们。我有十个现成的货源,你需要多少就寄多少。(如果您不使用ASCII码,我必须检查我的库存。有些数字比其他数字更难获得。)

您还可以使用
shell
使echo命令在设置
PROJECT\u NAME
期间执行一次,而不是每次在命令中使用时执行一次:

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

只需将第一个命令中的赋值替换为第二个命令中的
PROJECT\u NAME
变量

另外,使用
$(shell cmd)
而不是反引号来运行shell命令

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

只需将第一个命令中的赋值替换为第二个命令中的
PROJECT\u NAME
变量

另外,使用
$(shell cmd)
而不是反引号来运行shell命令

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

不,我只是觉得我能在一条线上完成不,我只是觉得我能在一条线上完成line@NicolasS. 很高兴我能帮忙。如果你觉得它有用的话,请随意使用。@NicolasS。很高兴我能帮忙。如果你觉得它有用的话,请随意使用。