I am trying to find an active NIC, an active NIC is one where the command wil return UP for me.
In my command:
# cat /sys/class/net/eth0/operstate
I am returned a value of UP
In another command, I type:
# cat /sys/class/net/eth1/operstate
I get a value of DOWN
Overall I have 4 eth's. I basically have to use the command to determine UP or DOWN
/sys/class/net/eth[0|1|2|3]/operstate = up | down
I want to be able to write a program where I will be able to return the eth[0|1|2|3] value that is UP.
So far this is what I have:
mylist= [0,1,2,3]
for x in mylist:
with open('/sys/class/net/'x'/operstate') as f:
mac_eth0= f.read().rstrip()
if mac_eth0 == "up"
print "it is %s" %(mac_eth0)
When I do run this code, it tells me there is an error:
File "tes.py", line 5
with open('/sys/class/net/'x'/operstate') as f:
^
Syntax Error: invalid syntax
I'm just not sure how to add in the which eth number from the for loop. Maybe there is a better way to approach this.
Thanks in advance for the help
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…