我有一個IP地址列表,我需要在遠程運行curl
命令。 我正在使用for
循環遍歷ips。Python - 將變量發送到子進程
,我需要遠程運行的命令是
curl --silent http://<IP>:9200/_cat/master | awk '{print $2}'
上述輸出將在我的羣集返回主節點的IP地址。
我的代碼規定
status = subprocess.Popen(["ssh", "%s" % ip, "curl http://ip:9200/_cat/master | awk '{print $2}'"], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
我有傳遞ip
變量作爲我命令的一部分麻煩。
我也試過這樣做。
status = subprocess.Popen(["ssh", "%s" % ip, "curl http://",ip,":9200/_cat/master | awk '{print $2}'"], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
但它似乎沒有工作。我怎樣才能使這個工作?
你需要SSH連接到機器上執行命令? – Pigueiras
@Pigueiras由於防火牆的限制,curl命令只能在我登錄的節點上運行。 –