我有两个部分的问题。我正在使用ArcSight控制台,需要将变量从ArcSight传递给python脚本。但是,我无法访问独立的Python,只有运行python的Cygwin客户机。
步骤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 var3my_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.pyPython从vars.py导入变量:
import vars
print "Foo is %s" % (vars.my_var1)这是一个巨大的痛苦,但由于我们的工作机器所能安装的安全限制,所以必须这样做。想把这个留在这里以防别人遇到类似的问题。
发布于 2014-12-02 16:08:34
见我最初问题中的解决方案。
https://stackoverflow.com/questions/27198151
复制相似问题