当我尝试使用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)警告:写入标准输出时出错(管道破损)
我可以一次执行一个命令,但是不像先执行一个命令然后执行下一个命令。
有人知道原因吗?有没有一种方法可以关闭一个管道然后再启动另一个管道?不关闭第一个管道是断开下一个管道的原因吗?