Orden de línea de archivo de texto desordenado en el terminal

0

Estaba escribiendo un sencillo script de bash para una pequeña tarea.

 echo starting
 URL="10.10.0.1/api/monitoring/traffic-statistics"
 curl -b cookie $URL

Cuando lo ejecuté usando bash script.sh , simplemente imprime curl -b cookie pi/monitoring/traffic-statistics . Es como si el archivo dijera echo curl -b cookie $URL y de alguna manera la URL se corrompiera. Cuando escribo cat script.sh , en lugar de listar el contenido del archivo, solo muestra una parte de una línea en el script. Nota: Estaba editando el archivo en vim, y lo estaba mostrando sin ningún problema. Nano editor también mostró el mismo contenido. Pero cuando se trata de bash, desordena la orden, ya sea al ejecutar el archivo o simplemente volcar el contenido. Este es el volcado hexadecimal. ( xxd script.sh )

00000000: 6563 686f 2073 7461 7274 696e 670d 5552  echo starting.UR
00000010: 4c3d 2231 302e 3130 2e30 2e31 2f61 7069  L="10.10.0.1/api
00000020: 2f6d 6f6e 6974 6f72 696e 672f 7472 6166  /monitoring/traf
00000030: 6669 632d 7374 6174 6973 7469 6373 220d  fic-statistics".
00000040: 6375 726c 202d 6220 636f 6f6b 6965 2024  curl -b cookie $
00000050: 5552 4c0d                                URL.

Parece que tampoco puedo encontrar ningún carácter \r perdido. ¿Qué hice mal aquí y cómo produzco un archivo adecuado que bash aceptará?

    
pregunta chamod 10.07.2017 - 10:42

1 respuesta

1

Ha configurado mal su vimrc y se ha ingresado / leído un retorno de carro (CR o 0x0d) en lugar de un salto de línea (LF o 0x0a).

Así que modifica el vimrc de nuevo al comportamiento estándar.

El shebang que falta (por ejemplo, #!/bin/bash ) al principio no es la causa del script que falla. Aunque lo incluiría, solo por redundancia.

    
respondido por el klanomath 10.07.2017 - 11:38

Lea otras preguntas en las etiquetas