On Wed, Jan 23, 2008 at 10:10:56AM +0300, Stanislav Ievlev wrote:
> Принимаются пожелания по составу и именованию функций
Ещё захотелось (возможно, в libshell) нечто вроде:
# $1 is a test (e.g. "-s" for "non-empty file")
# $2 is an object to apply test to (e.g. a filename)
# $3 is timeout (5 by default; e.g. "10")
# $4 is a pause (1 sec by default; e.g. "0.1")
wait_test()
{
[ -n "$1" -a -n "$2 ] || return
tries=${3:-5}
pause=${4:-1}
for i in `seq 1 $tries`; do
[ "$1" "$2" ] && break
sleep $pause
done
}
В некоторых ситуациях может хотеться поспать "перед", а не
"после", но это можно компенсировать добавлением своего sleep
перед вызовом данной функции.
Пример ситуации, когда понадобилось -- alterator-ovz:
alt_new()
{
# ...
запускаем_длинную_команду_в_фоне \
> $LOG_DIR/$in_profile 2>&1" &
# а вот здесь можем вернуться слишком рано
# и за этим логом следить не предложат
for i in `seq 1 5`; do
[ -s "$LOG_DIR/$in_profile" ] && break
sleep 1
done
# но мы хитрей :)
echo '()'
}
--
---- WBR, Michael Shigorin <[EMAIL PROTECTED]>
------ Linux.Kiev http://www.linux.kiev.ua/
_______________________________________________
devel-conf mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/devel-conf