使用Makefile将{CLI}参数传递给LUA文件

时间:2017-04-05 13:55:36

标签: makefile lua command-line-interface

我意识到这是微不足道的,我今天早上可能还没有足够的咖啡,但我的问题如下!如何通过Makefile将参数传递给我的init.lua文件?我的目标是能够在将文件上传到设备时在命令行中声明我的ESP / NodeMCU的主机名。

我意识到这很容易为每个设备调整我的lua文件,但由于我只想传递一个参数,而且从来没有,我希望我可以用我的CLI命令来完成它。我尝试了Makefile: Passing command line arguments to file inside Makefile的答案,但是我得到了一个错误2.问题是因为为了设置主机名,在普通的lua文件中,有括号。设置主机名的常规命令是:

wifi.sta.sethostname("somehostname")

所以根据我发布的链接,我必须按如下方式运行我的命令:

make upload_all HNAME="wifi.sta.sethostname("somehostname")"

抛出语法错误。解决这个问题的最佳方法是什么?我可以使用变量来声明wifi.sta.sethostname部分吗?我试过但可能做得不对。我不是一个脚本专家,但我通常可以很好地找到自己的方式。提前谢谢!

更新以包含Makefile中的一些代码!

@python $(NODEMCU-COMMAND) $(foreach f, $^, $(f)) $(HNAME)

我想知道是否有可能。我现在意识到,当它与ESP交互时,我需要它在新的一条线上。不确定我是否能以某种方式将换行符(' / n')附加到我的Makefile行。

感谢@EgorSkriptunoff,我设法至少摆脱了错误。但是它在实际设备上没有做任何事情。我已经意识到,一旦设备被重置,如果该行不在设备的实际代码中,它将返回到默认主机名。我能看到的唯一解决方案是可能从CLI附加init.lua文件,这可能也不会起作用。

0 个答案:

没有答案