2012-03-04 4 views
2

У меня есть веб-приложение python, и я хотел бы запустить с него несколько сценариев. Сценарии написаны на разных языках, таких как bash, lua, perl, C++, ruby ​​и т. Д. Дело в том, что я хотел бы сначала разобрать скрипт, чтобы заменить предопределенные строительные блоки на фактические цифры. Так, например, скажем, у меня есть следующий Баш скрипт:Язык программирования оболочки

#!/bin/bash 

ping -c 3 {{ip}} 

Тогда я хотел бы передать этот сценарий в обертку со всеми переменными сценария будет нужно - в этом случае только ф переменной. Оболочка должна заменить все переменную с фактическими значениями, поэтому, если мы занесены переменным Ip как значение = 10.1.1.1, то сценарий должен стать:

#!/bin/bash 

ping -c 3 10.1.1.1 

И я хочу эту функциональность для всех языков программирования , Поэтому я использую python, который должен, в свою очередь, использовать какую-то оболочку, которая принимает скрипт + аргументы и выводит соответствующий выходной скрипт.

Я уже нашел swig, но не знаю, делает ли он то, что я хочу, поэтому предложения очень ценятся.

Спасибо

ответ

5

Это звучит, как вы хотите m4, который будет обрабатывать это легко для всех языков сценариев. C++, будучи скомпилированным языком, был бы совершенно другим начинанием, но я предполагаю, что вы на самом деле не имели в виду это.

Существует несколько бесплатных реализаций m4; это уже будет на каждом Linux-боксе.

Вы определенно не хотите SWIG, он делает что-то совершенно другое.

5

Я хотел бы разработать сценарии принять аргументы командной строки, прочитать общий конфигурационный файл, или читать переменные среды, вместо того, чтобы пытаться изменить внутренности сценариев.

Вы действительно хотите, чтобы ваше веб-приложение Python изменило код C++, перекомпилировало его и запустило? Что-то в этом мне кажется неправильным. Это, вероятно, будет медленным.

Смежные вопросы