小编Pro*_*yag的帖子

使用 bash 4 语法将 Makefile 中字符串的第一个字母大写

在 bash 4(及更高版本)中,要大写存储在 variable 中的字符串的第一个字母L1,我可以执行以下操作:

L1=en
Ll1=${L1^}
echo $Ll1
Run Code Online (Sandbox Code Playgroud)

这打印En.

我正在尝试在 Makefile 中做类似的事情,但我无法使${L1^}语法起作用。

SHELL := /bin/bash

L1 = en
Ll1 := $(shell echo ${L1^})

all:
    @echo $(Ll1)
Run Code Online (Sandbox Code Playgroud)

产生空白输出。

我可以在不求助于 tr/sed 的情况下使用这种 bash 语法吗?

PS我确实需要将它分配给一个变量而不是直接回显它。我正在使用 bash 4.3.48 和 GNU make 4.1。

bash makefile capitalization gnu-make bash4

4
推荐指数
1
解决办法
1441
查看次数

标签 统计

bash ×1

bash4 ×1

capitalization ×1

gnu-make ×1

makefile ×1