GNU/Linux >> Tutoriales Linux >  >> Linux

¿Echo Text After Curl Command en la misma línea?

#!/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.


Linux
  1. ¿Es Shell Portable para ejecutar un comando en la misma línea después de la asignación de variables?

  2. Bash Echo ¿La línea de comando se ejecutó en la propia línea de comando (no en un script)?

  3. ¿Ejecutar un comando Sudo, especificando la contraseña en la misma línea?

  4. Crear archivos usando la línea de comando en Linux

  5. Migración de un servidor Linux desde la línea de comandos

Uso de más para ver archivos de texto en la línea de comandos de Linux

Uso de less para ver archivos de texto en la línea de comandos de Linux

Cómo usar Nano, el editor de texto de línea de comandos de Linux

Manipulación de texto en la línea de comando con grep

Micro:un editor de texto basado en la línea de comandos para Linux

Los 10 mejores editores de texto de línea de comandos Lite en Linux [Fácil de usar]