Re: pipestatus в dash
> Хочется узнать код выхода cmd1 в такой связке:
> cmd1|cmd2
> В bash есть массив $PIPESTATUS. А как это делают в dash?
Этого нет в POSIX шеле.
Самое общее на все случаи жизни решение такое:
1) ставишь пакет pipestatus из моего репозитория, прописывая в
sources.list (бинари есть только для Debian/Lenny/i386).
Остальное придется скомпилировать.
deb http://mova.org/~cheusov/pub/debian lenny main
deb-src http://mova.org/~cheusov/pub/debian lenny main
2) Где-нибудь в начале скрипта пишешь
. pipestatus
3) Запускаешь pipe так:
runpipe cmd1 '|' cmd2
4) Получаешь exit статусы чего-угодно.
echo $exitstatus_1
echo $exitstatus_2
echo $exitstatus_all
5) Изучаешь пакет на предмет других фич pipestatus
6) Если нравится, проталкиваешь его в Дебиан ;-)
Сама библиотека собственно тоже моя, берется здесь
http://sf.net/projects/pipestatus.
--
Best regards, Aleksey Cheusov.
Reply to: