Verifique novamente. De acordo com o que você escreveu em sua pergunta, quando executou ./my2.sh
de my1.sh
, você não redirecionou a saída de erro para qualquer lugar (usando 2>somewhere
), o que significa que permanecerá exatamente onde estava. Isso significa que você deve obter absolutamente a saída de erro de ./my2.sh
indo exatamente para o mesmo local em que a saída de erro de ./mh1.sh
está indo.
Para testar, tente inserir isso em my1.sh
:
echo "Test error output from my1.sh" >&2
e inserindo isso perto do começo de my2.sh
:
echo "Test error output from my2.sh" >&2
Meu palpite é que você obterá ambas as linhas de saída (caso em que não há problema) ou nenhuma delas (nesse caso, o motivo pelo qual você não está obtendo a saída de erro é que a saída de erro é redirecionada para outro local em my1.sh
e não tem nada a ver com my2.sh
).