编程语言包装器

Programming languages wrapper

本文关键字:包装 编程语言      更新时间:2023-10-16

我有一个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,但不知道它是否符合我的要求,所以非常感谢您的建议。

感谢

听起来你想要m4,它可以轻松地处理所有脚本语言。C++作为一种编译语言,将是一项完全不同的任务,但我想你并不是真的这么想的。

有多个免费的m4实现;它已经出现在每个Linux盒子上了。

你肯定不想要SWIG,它做的事情完全不同。

我会将脚本设计为采用命令行参数,读取常见的配置文件或读取环境变量而不是试图修改脚本的内部。

你真的要让你的Python web应用程序修改C++代码,重新编译它,然后运行它吗?我觉得有些不对劲。可能会很慢。