【发布时间】:2017-12-27 11:44:57
【问题描述】:
是否知道大多数 shebang 实现将支持单个参数,所以如果你有类似的东西
#!/usr/bin/env some-tool-accepting-yaml param1 param2
... (yaml body)
现在它将按预期工作,因为它将使用“param1 param2”参数调用该工具,而不是将其拆分为两个参数。
似乎workaround 的一种做法是使用类似的东西:
#!/bin/sh
arbitrary_long_name==0 "exec" "/usr/bin/gawk" "--re-interval" "-f" "$0" "$@"
现在这种方法会使基于 YAML 的脚本由于第 2 行而无效,因此唯一可接受的解决方法是同时也是注释,也以“#”开头。
有没有办法绕过这个问题?
【问题讨论】:
-
要启动的可执行文件是
python吗?因为还有这个相关的问题:stackoverflow.com/questions/17458528/… -
您引用的解决方法是针对 awk,而不是针对 python。
-
您对 YAML 的解决方法或通用解决方案感兴趣吗?在前一种情况下,请告诉我们最终应该使用哪个可执行文件来使用文件的内容?
-
YAML 的解决方法,我已经有 3 个使用 YAML 的工具。