警告:写入标准输出时出错(管道损坏)

时间:2019-12-03 02:32:20

标签: python bash awk subprocess

当我尝试使用python执行多个不同的shell脚本命令时,出现此错误。

GET_CLUSTER_IP = "kubectl describe service "+SERVICE_CLUSTER+" | grep IP: | awk '{print $2;}'"
child1 = subprocess.Popen(GET_CLUSTER_IP,shell=True,stdout=subprocess.PIPE)
CLUSTER_IP = child1.communicate()[0]
print(CLUSTER_IP)


GET_NODE_IP = "kubectl describe service "+SERVICE_NODEPORT+" | grep IP: | awk '{print $2;}'"
child2 = subprocess.Popen(GET_NODE_IP,shell=True,stdout=subprocess.PIPE)
NODEIP = child2.communicate[0]
print(NODEIP)

我得到的错误:

  

TypeError:“ instancemethod”对象没有属性“ getitem ”   awk:(FILENAME =-FNR = 1)警告:写入标准输出时出错(管道破损)

我可以一次执行一个命令,但是不像先执行一个命令然后执行下一个命令。

有人知道原因吗?有没有一种方法可以关闭一个管道然后再启动另一个管道?不关闭第一个管道是断开下一个管道的原因吗?

0 个答案:

没有答案