두 부분으로 구성된 문제가 있습니다. 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)
거대한 고통을하지만 그것은 우리의 작업 기계를 설치 할 수 있는지에 대한 보안 제한으로 인해 수행했던 방법이었다. 다른 사람이 유사한 문제에 부딪 힐 경우에 대비하여 여기에 남겨두기를 원했습니다.
저는 일괄 적으로 일을 처리 할 수 있도록 매우 임시 배치 설정을 했었습니다.하지만이 일괄 처리를 사용하지 않으려합니다. 파이썬으로 더 많은 일을 할 수 있기 때문입니다. – bmackrill
해결책을 제시하고 원래 질문을 업데이트했습니다. – bmackrill