Makefile-中echo -e 显示问题
编译SDK生成的image,若根据环境开发搭建用estar命令烧录失败。直接原因是project目录下的Makefile:
echo -e $(foreach n,$(IMAGE_LIST),estar scripts/[[$(n)\\n) >> $(IMAGEDIR)/auto_update.txt
结果在auto_update.txt
里把-e也显示出来。
原因:
由于不同的shell(bash和dash)造成的两种不同的结果。
即在bash下正常,在dash下就多显示了一个-e。 从Ubuntu 6.10开始,默认使用的shell是dash,dash更快、更高效,可以加快启动速度。
通过查看 ls -l /bin/sh
发现 /bin/sh -> dash
。
需要修改ubuntu默认使用bash:sudo dpkg-reconfigure dash
再次查看ls -l /bin.sh
发现/bin/sh -> bash
。