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

Ответить