Код: Выделить всё
apus# uname -a
FreeBSD apus 6.3-STABLE FreeBSD 6.3-STABLE #0: Tue Jun 17 18:07:42 EEST 2008 root@apus:/usr/obj/usr/src/sys/GEN-DR-APUS amd64
наваял...
Код: Выделить всё
apus# cat delete_dead_souls
#!/bin/sh -x
echo > dirs_to_delete
ls /home | while read dir
do
to_delete=0
ldapsearch -b "ou=People,dc=xxxxx,dc=dp,dc=ua" uid | grep "uid:" | awk '{print $2}' | while read ldp_ac
do
if [ $dir != $ldp_ac ]
then to_delete=1; echo $to_delete;
else to_delete=0; return; echo $to_delete;
fi
done;
echo $to_delete;
if [ $to_delete -eq 1 ]
then echo $dir >> dirs_to_delete
fi
doneтакое впечатление, что внутри первого if она живет сама по себе...
т.е. внутри первого if я вижу, что переменная принимает значение 1, но во втором if оно равно 0
если убрать первое определение to_delete (которое перед ldapsearch), то во втором if вместо $to_delete ничего не подставляется, как буд-то переменная не определена, хотя внутри первого if все echo показывают значения как нивчем небывало...
Чего ему надо-то?
