从Cygwin批处理中自动执行python脚本

时间:2014-11-29 02:08:08

标签: python windows batch-file cygwin

我遇到的两部分问题。 我正在使用ArcSight控制台,需要将变量从ArcSight传递到python脚本。但是,我无法访问独立的Python,只能运行Cygwin客户端来运行python。

步骤1)启动Cygwin并自动运行python脚本

我目前的Cygwin批处理文件是:

@echo off

c:
chdir C:\cygwin\bin

bash --login -i

步骤2)将原始命令行中的变量传递给argv

的python脚本
python myscript var1 var2 var3

我是否为此做了很长的路,或者我是否尝试了不可能的事情?

解决方案

现在启动cygwin的批处理文件如下所示:

@echo off

c:
chdir c:\cygwin\bin

bash --login -i ./my_script.sh var1 var2 var3

my_script.sh是一个bash脚本,它将变量传递给python并启动python脚本。

#!/bin/bash
echo "my_var1 = '$1'" > vars.py
echo "my_var2 = '$2'" >> vars.py
echo "my_var3 = '$3'" >> vars.py
python my_python.py

Python脚本从vars.py中导入变量:

import vars
print "Foo is %s" % (vars.my_var1)

巨大的痛苦但是由于我们的工作机器可以安装的安全限制,这是必须完成的方式。想要留下这个,以防其他人遇到类似的问题。

1 个答案:

答案 0 :(得分:0)

在我最初的问题中查看解决方案。