在 bash 4(及更高版本)中,要将存储在 variable 中的字符串的第一个字母大写L1
,我可以执行以下操作:
L1=en
Ll1=${L1^}
echo $Ll1
这打印En
。
我正在尝试在 Makefile 中做类似的事情,但我无法让${L1^}
语法正常工作。
SHELL := /bin/bash
L1 = en
Ll1 := $(shell echo ${L1^})
all:
@echo $(Ll1)
产生空白输出。
我可以在不使用 tr/sed 的情况下使用这种 bash 语法吗?
PS我确实需要将它分配给一个变量而不是直接回显它。我正在使用 bash 4.3.48 和 GNU make 4.1。