簡體   English   中英

自動從Cygwin批處理中執行python腳本

[英]Auto execute a python script from a Cygwin batch

我遇到的問題分為兩部分。 我正在使用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)

這是一個巨大的痛苦,但是由於工作機器可以安裝的安全性受到限制,因此必須采用此方法。 希望將其保留在此處,以防其他人遇到類似問題。

請參閱我最初的問題中的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM