8

makeGNU変数の最初の文字を取得するより良い方法はありますか?

FIRST=$(shell echo $(VARIABLE) | head -c 1)

(扱いにくいだけでなく、外部シェルも呼び出します)?

4

3 に答える 3

8

これはかなり恐ろしいですが、少なくともそれは呼び出されませんshell

$(eval REMAINDER := $$$(VAR))          # variable minus the first char
FIRST := $(subst $(REMAINDER),,$(VAR)) # variable minus that
于 2012-10-09T22:29:25.313 に答える
3

GNU Make Standard Librarysubstr関数を提供します

サブストリング

Arguments: 1: A string
           2: Start offset (first character is 1)
           3: Ending offset (inclusive)
Returns:   Returns a substring

私はそれをテストしていませんが、$(call substr,$(VARIABLE),1,1)動作するはずです

于 2012-10-18T15:53:28.620 に答える