我有一个python Web应用程序,我想从中运行多个脚本。脚本是用各种语言编写的,比如bash,lua,perl,c ++,ruby等。问题是我想首先解析脚本以用实际数字替换预定义的构建块。例如,假设我有以下bash脚本:
#!/bin/bash
ping -c 3 {{ip}}
然后我想将该脚本传递给包含脚本所需的所有变量的包装器 - 在本例中只是 ip 变量。包装器应该用实际值替换所有变量,因此如果我们将ip变量输入为值= 10.1.1.1,那么脚本应该变为:
#!/bin/bash
ping -c 3 10.1.1.1
我希望所有编程语言都能使用此功能。所以我使用python,它应该使用某种接受脚本+参数的包装器,并输出相应的输出脚本。
我已经找到了swig,但不知道它是否符合我的要求,所以建议非常感谢。
谢谢
答案 0 :(得分:5)
听起来你想要m4,它可以轻松处理所有脚本语言。 C ++,作为一种编译语言,将是一个完全不同的事业,但我认为你并不是真的意思。
有多个免费的m4实现;它已经存在于每个Linux机器上。
你绝对不希望SWIG,它会做一些完全不同的事情。
答案 1 :(得分:5)
我会设计脚本以获取命令行参数,读取常见的配置文件,或者读取环境变量,而不是尝试修改脚本的内部。
您真的要让您的Python Web应用程序修改C ++代码,重新编译它,然后运行它吗?关于这一点似乎对我来说是错误的。它可能会很慢。