微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建外壳脚本二进制文件而不在nix文件中编码字符串

如何解决如何创建外壳脚本二进制文件而不在nix文件中编码字符串

要创建二进制shell脚本,请使用writeShellScriptBin。此函数采用一个代表要生成的Shell脚本的字符串,例如:

  my-script = writeShellScriptBin "my-script" ''
    # Some script
  ''

使用writeShellScriptBin非常适合小型脚本,但是一旦脚本开始增长,生成的字符串将变得难以维护。所以我想知道writeShellScriptBin的替代方案是什么。

解决方法

substituteAll。示例:

substituteAll {                                                                 
  src = ./foo.in;                                                 
  name = "foo";                                                     
  dir = "/bin";  # If you omit it,you will get substitution result in $out                                                                 
                                                                                
  isExecutable = true;  # it is script,so you are likely want this.                                                                                                           
  inherit curl jq execline;                                                     
}   

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。