我正在尝试在makefile中执行此操作,但它以失败告终:M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}') 你知道为什么吗?我想这与转义有关,但是什么地方? 最佳答案 这是美元符号,在makefile文件中,您必须键入$$以获得一个美元符号:M_ARCH := $(shell g++ -dumpmachine | awk '{split($$1,a,"-");print a[1]}')