#!/bin/bash
echo "$(curl -s -I https://google.com|grep Server)" abc
devuelve:
abcer: gws
y bash -x
muestra:
++ grep Server
++ curl -s -I https://google.com
' abco 'Server: gws
abcer: gws
pero
echo abc "$(curl -s -I https://google.com|grep Server)"`
regresa
abc Server: gws
En otras palabras, si agrego texto DESPUÉS del comando curl, se altera, pero está bien si lo agrego antes de curl.
¿Qué sucede? No puedo resolverlo.
Respuesta aceptada:
echo $(curl -s -I https://google.com|grep Server)|cat -A
muestra que el valor devuelto por curl tiene un ^M (un retorno de carro). Cuando imprime la salida del curl, el retorno de carro lleva el 'cursor' de regreso al comienzo de la línea, donde luego imprime el 'abc', sobrescribiendo 'Serv'.
En su segundo intento, el retorno de carro no tiene un efecto evidente.