【问题标题】:Makefile with user input validation带有用户输入验证的 Makefile
【发布时间】:2023-04-03 23:13:01
【问题描述】:

我已经制作了需要一些变量(令牌)作为目标的文件作为先决条件

例如

token = 

deploy:
   http://api.run.cf.com $(token)

我需要用户在运行make deploy之前输入令牌(到文件)

如果没有提供一些错误,我该怎么办?

我已经尝试添加

ifndef token @echo Warning: token isn\'t defined\; abort

但不确定如何将其集成到`部署目标。

【问题讨论】:

  • 是否可以从文件中读取令牌?如果您想将流程移动到构建服务器,这样做的好处是能够在没有交互的情况下运行。制作喜欢的文件。让仇恨得到安慰。真的。

标签: linux shell makefile gnu-make


【解决方案1】:

用户可以在运行make时动态添加变量

例子:

$ VAR1=44 OPTIONFORMKE=true make

这将设置:

VAR1=44
&
OPTIONFORMAKE=true

就好像它们是作为输入参数提供的一样。

您可以在Makefile 中查看

if [ "$OPTIONFORMAKE" == "true" ];then echo doing something here; fi

对于 VAR1 或您要传递的任何其他动态变量也是如此

【讨论】:

  • 谢谢,我不确定我是否得到了完整的流程,if 语句如何与我需要运行的目标相关,因为如果缺少令牌,我不想允许运行它...
  • 使用 if 语句可以检查是否缺少所需的令牌/变量,是否回显警告和exit 1
猜你喜欢
  • 2019-10-17
  • 2017-09-11
  • 1970-01-01
  • 2013-04-18
相关资源
最近更新 更多