Você precisará armazenar a saída em uma variável para realizar isso. Aqui está um exemplo:
if output=$(cmda); then
printf '%s' "$output" | cmdb
fi
Existe uma maneira na linha de comando do Linux de ter apenas um canal de comando com saída para outro, quando o comando não falhou?
$ cmda | cmdb
Eu gostaria, então quando cmda
retornar um código de status diferente de 0, sua saída não será redirecionada para cmdb
.
Você precisará armazenar a saída em uma variável para realizar isso. Aqui está um exemplo:
if output=$(cmda); then
printf '%s' "$output" | cmdb
fi
Tags command-line pipe