le probleme est simple ce situe juste après la première boucle : echo $Ad ne revoiye rien alors que cela ne devrai pas être le cas! #!/bin/sh p=0 Ad=0 TbStat=(ESTABLISHED LISTEN SYN_SENT SYN_RECV FIN_WAIT1 FIN_WAIT2 TIME_WAIT CLOSE CLOSE_WAIT LAST_ACK CLOSING UNKNOWN) netstat -laputen 2>/dev/null | while read a b c d e f g h i ; do case $d in *.*.*) Wh1=0 while [ $Wh1 -lt 10 ];do Buff="${f#"${TbStat[$Wh1]}"}" if [ "${f%$Buff}" = "${TbStat[$Wh1]}" ] ; then # echo "OUI " "${f%$Buff}" " <===>" "${TbStat[$Wh1]}" TbEnd[$Ad]="${TbStat[$Wh1]}" Ad=$(($Ad+1)) fi Wh1=$(($Wh1+1)) done sleep $p esac done echo $Ad if [ $Ad != "0" ];then while [ $Wh2 -lt $Ad ];do echo ${TbEnd[$Wh2]} Wh2=$(($Wh2+1)) sleep $p done fi #IP=$(/sbin/ifconfig | grep "inet adr:192" | cut -d ":" -f2 |cut -d " " -f1) #echo $IP exit 0