Why does it echo the response body of the previous
curlcommand?
Uma pergunta carregada clássica .
Não faz nada disso. O comando curl gera um endereço IP sem uma nova linha à direita. O comando echo fornece a nova linha. É simples assim.
Se
echo "$(curl -s http://ipecho.net/plain)"
é mais simples que
curl http://ipecho.net/plain ; echo
é uma questão de gosto até certo ponto. Vale a pena notar, no entanto, que $() não está disponível no shell Bourne (não deve ser confundido com o Bourne Again) nem nos shells C, enquanto que praticamente todos os shells podem executar dois comandos simples em sequência separados por um semi cólon. Isso inclui até csh e fish . ☺