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