Si el cuerpo de respuesta HTTP para una solicitud de curl no contiene una nueva línea final, termino con esta condición realmente molesta en la que el indicador de comandos de shell está en el medio de la línea, y escapar es lo suficientemente desordenado como cuando puse el último curl comando en la pantalla, al eliminar caracteres de ese comando curl, elimine los caracteres incorrectos.
Por ejemplo:
[root@localhost ~]# curl jsonip.com
{"ip":"10.10.10.10","about":"/about"}[root@localhost ~]#
¿Hay algún truco que pueda usar para agregar automáticamente una nueva línea al final de una respuesta en curva, para que el mensaje vuelva al borde izquierdo de la pantalla?
echo "$(curl localhost:8001/api)"
, esta respuesta: unix.stackexchange.com/a/217611/110338Respuestas:
Del archivo man:
Intente agregar lo siguiente a su
~/.curlrc
archivo:fuente
echo '-w "\n"' >> ~/.curlrc
-w "\n"
manualmente a cada comando de curl y TIL~/.curlrc
existe!-w "\nKLJLJKLJ LJKLLKJ"
a mi~/.curlrc
y corrí un rizo y no obtuve una nueva línea ni los personajes extraños._
sobre.
. Es probable que su rizo esté buscando~/_curlrc
y, en consecuenciaecho '-w "\n"' >> ~/_curlrc
, probablemente funcionará. Lo hace por mi. por cierto: curl se quejará por espacios en blanco sin escape-w "\n"
o agregar; echo
sobre la modificación de su.curlrc
. Si modifica su curlrc, algunos scripts pueden romperse si no manejan una nueva línea al final de los datos de respuesta. Personalmente, me quedaría con las adiciones en la línea de comando para modificar el rc.Trata eso :
SALIDA
Esto es así de simple;)
(y no se limita al comando curl, sino a todos los comandos que no terminan con una nueva línea)
fuente
Para obtener más información, así como una nueva línea limpia después del rizo
~/.curlrc
(Más opciones están disponibles aquí )
redirect_url
estará en blanco si la solicitud no se redirige o si utiliza-L
para seguir la redirección.Salida de ejemplo:
Editar , para que las cosas sean más legibles, puede agregar colores ANSI a la
-w
línea, no es tan fácil escribir directamente, pero este script puede generar un~/.curlrc
archivo con colores.fuente
La solución general para bash es agregar un símbolo de nueva línea en el símbolo del sistema:
Vea la pregunta relacionada ( ¿Cómo tener una nueva línea antes de bash prompt? ) Y la respuesta correspondiente
Esta solución cubre cada comando, no solo curl.
El único efecto secundario es que obtienes el símbolo del sistema después de cada segunda línea.
fuente