我试图在Make target中用冒号分隔的值分割字符串。
当我尝试使用for循环,eval,shell分割目标配方中的字符串时,得到空白值。当我确实使用shell命令在目标结果之外拆分字符串时,结果是肯定的。
谁能帮我解决目标食谱。
以下是代码段。
notebooks=new:e7e45d89-94cc-4783-86c5-2236d9904a24 test:2af1d689-98c3-48f2-984d-2ea21c5135dd
j=new:e7e45d89-94cc-4783-86c5-2236d9904a24
f1=$(shell echo $j | cut -d: -f 1)
test1:
@for i in $(notebooks); \
do \
$(eval f=$(shell echo $i | cut -d: -f 1)) \
$(eval fid=$(shell echo $i | cut -d: -f 2)) \
echo $(f) $(fid) $(f1) ;\
done
Run Code Online (Sandbox Code Playgroud)
输出是
new
new
Run Code Online (Sandbox Code Playgroud)
而所需的输出是
new e7e45d89-94cc-4783-86c5-2236d9904a24 new
test 2af1d689-98c3-48f2-984d-2ea21c5135dd new
Run Code Online (Sandbox Code Playgroud)