编程语言包装器

ele*_*nor 2 c++ python bash swig

我有一个python Web应用程序,我想从它运行多个脚本.脚本是用各种语言编写的,比如bash,lua,perl,c ++,ruby等.问题是我想首先解析脚本以用实际数字替换预定义的构建块.例如,假设我有以下bash脚本:

#!/bin/bash

ping -c 3 {{ip}}
Run Code Online (Sandbox Code Playgroud)

然后我想将该脚本传递给包含所有脚本所需变量的包装器 - 在本例中只是ip变量.包装器应该用实际值替换所有变量,因此如果我们将ip变量输入为值= 10.1.1.1,那么脚本应该变为:

#!/bin/bash

ping -c 3 10.1.1.1
Run Code Online (Sandbox Code Playgroud)

我希望所有编程语言都具有此功能.所以我使用python,它应该使用某种接受脚本+参数的包装器,并输出相应的输出脚本.

我已经找到了swig,但不知道它是否符合我的要求,所以建议非常感谢.

谢谢

Ern*_*ill 5

听起来你想要m4,它可以轻松处理所有脚本语言.C++,作为一种编译语言,将是一个完全不同的事业,但我认为你并不是真的意思.

有多个免费的m4实现; 它已经存在于每个Linux机器上.

你绝对不希望SWIG,它做了一些完全不同的事情.


Dav*_*son 5

我会设计脚本来获取命令行参数,读取公共配置文件或读取环境变量,而不是尝试修改脚本的内部.

您真的要让您的Python Web应用程序修改C++代码,重新编译它,然后运行它吗?关于这一点似乎对我来说是错误的.它可能会很慢.