# cat ./tmp.sh
#!/bin/shcat ./List | while read SwIP SwPlace; do
cat ./nettree | while read NetTreeSwPlace NetTreeParent; do
if [ ${SwPlace} = ${NetTreeSwPlace} ]; then
Parent=${NetTreeParent}
echo Этому ${SwPlace} соответствует ${Parent}
break
fi
done
echo "----- вне цикла Этому ${SwPlace} соответствует ${Parent}"
done
Предпоследнее эхо выдает значения обеих переменных, а уже последнее только значение ${SwPlace}. ${Parent} почемуто обнуляется.
Результат работы:
# ./tmp.sh
----- вне цикла Этому Lnn66-p5 соответствует
Этому Lnn68-p3 соответствует Lnn68-p6
----- вне цикла Этому Lnn68-p3 соответствует
^^^^^^^ Отсутствует
----- вне цикла Этому Unv5-p9 соответствует
----- вне цикла Этому Lnn64-p9 соответствует
----- вне цикла Этому Lnn62-p13 соответствует
----- вне цикла Этому Lnn62-p6 соответствует
----- вне цикла Этому Lmm18-p6 соответствует
Этому Lmm18-p12 соответствует Lmm18-p9
----- вне цикла Этому Lmm18-p12 соответствует
^^^^^^^ Отсутствует
----- вне цикла Этому Lmm18-p4 соответствует
Этому Lmm18-p9 соответствует Lmm18-p6
----- вне цикла Этому Lmm18-p9 соответствует
^^^^^^^ Отсутствует
----- вне цикла Этому Lmm23-p13 соответствует
----- вне цикла Этому Lmm23-p9 соответствует
Содержимое файлов:
# cat ./List
192.168.4.3 Lnn66-p5
192.168.4.4 Lnn68-p3
192.168.4.5 Unv5-p9
192.168.4.6 Lnn64-p9
192.168.4.7 Lnn62-p13
192.168.4.9 Lnn62-p6
192.168.4.35 Lmm18-p6
192.168.4.36 Lmm18-p12
192.168.4.39 Lmm18-p4
192.168.4.40 Lmm18-p9
192.168.4.67 Lmm23-p13
192.168.4.69 Lmm23-p9
# cat ./nettree
Lnn66-p6 Lnn66-p7
Lnn66-p7 Lnn66-p5
Lnn66-p8 Lnn66-p7
Lnn66-p9 Lnn66-p10
Lnn66-p10 Lnn66-p7
Lnn66-p11 Lnn66-p10
Lnn66-p12 Lnn66-p10
Lnn62-p14 Lnn62-p13
Lnn62-p15 Lnn62-p13
Lnn62-p16 Lnn62-p13
Lnn62-p17 Lnn62-p16
Lnn62-p18 Lnn62-p16
Lnn68-p1 Lnn68-p3
Lnn68-p2 Lnn68-p3
Lnn68-p3 Lnn68-p6
Lmm18-p9 Lmm18-p6
Lmm18-p10 Lmm18-p9
Lmm18-p11 Lmm18-p12
Lmm18-p12 Lmm18-p9
Lmm23-p15 Lmm23-p17
Lmm23-p16 Lmm23-p17
Lmm23-p17 Lmm23-p14
Lmm23-p18 Lmm23-p17
Lmm23-p20 Lmm23-p21