不要在bash上工作循环

我已经在bash上写了脚本。 它获得了所有的接口列表。 并在循环中与variables进行比较。 但是这并不好。 我的脚本:

#!/bin/bash search=`ls -1 /sys/class/net | grep -v lo` echo $search eth=eno1 echo $eth for i in $search; do if [ $i == $eth ]; then echo "You choose is: $i" else echo "not found" fi done 

结果我有:

 dummy0 eno1 enp4s0 virbr0 virbr0-nic eno1 not found You choose is: eno1 not found not found not found 

没关系。 我想,得到一个消息“你select的是:eno1”。 如果$ eth不包含在“/ sys / class / net”中,我想得到消息“未find”。 我哪里有错误? 请帮忙。 谢谢。

用下面的语句replace整个循环:

 if [[ "$eth" =~ "$search" ]];then echo "You choose is: $eth" else echo "not found" fi 

整个脚本以一个非常紧凑的方式:

 #!/bin/bash eth=eno1 if [ -d /sys/class/net/$eth ];then echo "You choose is: $eth" else echo "not found" fi