Why does it echo the response body of the previous
curl
command?
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
. ☺