http://cfaj.freeshell.org/shell/cus-faq-2.html#11
Как получить код выхода из cmd1
в cmd1|cmd2
Во-первых, обратите внимание, что код выхода cmd1
может быть ненулевым и все же не означать ошибку. Это происходит, например, в
cmd | head -1
вы можете наблюдать 141 (или 269 с ksh93) состояние выхода cmd1
, но это потому, что cmd
был прерван сигналом SIGPIPE, когда head -1
завершился после прочитав одну строку.
Чтобы узнать состояние выхода элементов трубопровода cmd1 | cmd2 | cmd3
a. с zsh:
Коды выхода предоставляются в специальном массиве pipestatus. cmd1
код выхода находится в $pipestatus[1]
, cmd3
код выхода в $pipestatus[3]
, так что $?
всегда совпадает с $pipestatus[-1]
.
Коды выхода представлены в специальном массиве PIPESTATUS
. cmd1
код выхода находится в ${PIPESTATUS[0]}
, cmd3
код выхода в ${PIPESTATUS[2]}
, так что $?
всегда совпадает с ${PIPESTATUS: -1}
.
...
NAnt можно легко настроить для поддержки .NET 3.5 - мы используем его здесь. Вместо того, чтобы претендовать на кредит, проверьте это сообщение в блоге .
Взгляните на Сайт Nant .net Framework 3.5 поддерживается
В MsBuild вы можете выполнять сборку в один этап. Nant можно использовать с .Net 3.5, но он всегда отстает (скоро появится .Net 4.0). Nant .86 beta1 имеет проблемы с x64 Windows Server 2003 (вам потребуется ночная сборка). Я использовал оба и предпочитаю MsBuild. Дополнительные сведения см. В более раннем сообщении в блоге, которое я написал Nant vs MsBuild