Pular para o conteúdo
Insetário do Bash

/static/insetario/inseto/pipestatus/

Menu

BSH-025 · Variáveis-fantasma

$PIPESTATUS

O código de saída de cada elo do cano, não só do último.

Num pipeline, $? só enxerga o último elo — grep x arquivo | sort devolve 0 mesmo com o grep de mãos vazias. PIPESTATUS é o array com o código de cada elo, na ordem.

É volátil como poucos: qualquer comando seguinte o substitui, então copie primeiro — ecos=("${PIPESTATUS[@]}"). No zsh o mesmo fantasma atende por pipestatus, em minúsculas.

$ grep rainha vazio.txt | sort
$ echo "${PIPESTATUS[@]}"
1 0
O cano escondia uma falha; o array entrega.