Re: pipestatus в dash
2010/5/26 Vladimir N. Indik wrote: Хочется узнать код выхода cmd1 в такой связке: cmd1|cmd2 aptitude install moreutils mispipe cmd1 cmd2 -- ...Bye..Dmitry.
pipestatus в dash
Хочется узнать код выхода cmd1 в такой связке: cmd1|cmd2 В bash есть массив $PIPESTATUS. А как это делают в dash? Спасибо.
Re: pipestatus в dash
2010/5/26 Vladimir N. Indik: Хочется узнать код выхода cmd1 в такой связке: cmd1|cmd2 В bash есть массив $PIPESTATUS. А как это делают в dash? Никак, это башизм. Я пользуюсь вот таким извратом: stat1=`mktemp /tmp/stat1.XX` trap rm -f $stat1 EXIT { cmd1; echo rc=$? $stat1; } | { cmd2 ...} # и так для каждой команды в пайпе: . $stat1 if test $rc -ne 0; then ругаемся; exit 1; fi
Re: pipestatus в dash
Хочется узнать код выхода cmd1 в такой связке: cmd1|cmd2 В bash есть массив $PIPESTATUS. А как это делают в dash? Этого нет в POSIX шеле. Самое общее на все случаи жизни решение такое: 1) ставишь пакет pipestatus из моего репозитория, прописывая в sources.list (бинари есть только для Debian/Lenny/i386). Остальное придется скомпилировать. deb http://mova.org/~cheusov/pub/debian lennymain deb-src http://mova.org/~cheusov/pub/debian lennymain 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. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/877hmqloii@asrock.chizhovka.net
Re: pipestatus в dash
2010/5/26 Vladimir N. Indik: Хочется узнать код выхода cmd1 в такой связке: cmd1|cmd2 В bash есть массив $PIPESTATUS. А как это делают в dash? Никак, Не надо ;-) это башизм. Я пользуюсь вот таким извратом: См. мое соседнее письмо. -- Best regards, Aleksey Cheusov. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87vdaak9v9@asrock.chizhovka.net