2014-11-29 4 views
2

두 부분으로 구성된 문제가 있습니다. ArcSight Console을 사용하고 있으며 ArcSight에서 Python 스크립트로 변수를 전달해야합니다. 그러나 독립형 Python에 액세스 할 수는 없으며 Python을 실행하는 Cygwin 클라이언트 만 사용할 수 있습니다.Cygwin 배치에서 자동으로 파이썬 스크립트를 실행하십시오.

1 단계) Cygwin에서 시작하고 자동으로 파이썬 스크립트를

나의 현재 Cygwin에서 배치 파일을 실행하는 것입니다 :

@echo off 

c: 
chdir C:\cygwin\bin 

bash --login -i 

2 단계)는 argv

에 대한 파이썬 스크립트에 원래의 명령 줄에 변수를 전달
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는 파이썬에 변수를 전달하고 파이썬 스크립트를 실행 떠들썩한 파티 스크립트입니다.

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

파이썬 스크립트는 vars.py에서 변수를 가져옵니다

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

거대한 고통을하지만 그것은 우리의 작업 기계를 설치 할 수 있는지에 대한 보안 제한으로 인해 수행했던 방법이었다. 다른 사람이 유사한 문제에 부딪 힐 경우에 대비하여 여기에 남겨두기를 원했습니다.

+0

저는 일괄 적으로 일을 처리 할 수 ​​있도록 매우 임시 배치 설정을 했었습니다.하지만이 일괄 처리를 사용하지 않으려합니다. 파이썬으로 더 많은 일을 할 수 있기 때문입니다. – bmackrill

+0

해결책을 제시하고 원래 질문을 업데이트했습니다. – bmackrill

답변

0

나의 초기 질문에 해결책을보십시오.

관련 문제