我有一个python应用程序,我想从它运行多个脚本。脚本是用各种语言编写的,比如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,它应该使用某种接受脚本+参数的包装器,并输出相应的输出脚本。
我已经找到了,但不知道它是否做了我想要的,所以建议非常感谢。
谢谢
发布于 2012-03-04 02:56:54
听起来,您需要m4,它可以轻松地为所有脚本语言处理这个问题。作为一种编译语言,C++将是一项完全不同的工作,但我假设您不是认真的。
有多个免费的m4实现;它已经出现在每个Linux盒上了。
你绝对不想喝,它会做一些完全不同的事情。
发布于 2012-03-04 03:00:28
我将设计脚本以接受命令行参数、读取公共配置文件或读取环境变量,而不是试图修改脚本的内部结构。
您真的要让Python应用程序修改C++代码,重新编译它,然后运行它吗?在我看来这是不对的。可能会很慢。
https://stackoverflow.com/questions/9551925
复制相似问题