Não há bug no bash: o código está funcionando exatamente como deveria.
O bash permite que strings com várias linhas sejam usadas como argumentos para echo
, mesmo que essas strings pareçam estranhas e contenham o que seria o bash code.
Observe que o seguinte é simplesmente uma instrução echo
com uma sequência multilinha para saída:
/bin/echo "HERE IS MISTAKE WITHOUT QUOTE IN THE END
exit
fi
/bin/echo " BLACK HOLE "
/bin/echo " CODE WILL NEVER PROCEED "
if [ 0 -eq 1 ]; then
/bin/echo "SECOND MISTAKE
Para esclarecer, vamos substituir essa longa string por "multiline string omitted"
. Então, o código é simplesmente:
/bin/echo "Silent Err 'unexpected EOF while looking for matching' Example:"
if [ 0 -eq 1 ]; then
/bin/echo "multiline string omitted"
exit
fi
/bin/echo "normal code... will work";
/bin/echo "Good and silent exit without any notice about BLACK HOLE code..."
/bin/echo "exit."
O código acima está funcionando corretamente.