Al depurar el script de shell, se produjo un error en el código del bucle FOR. ¿Qué hacer?
Razón:
Porque el carácter de nueva línea del archivo que estás procesando es "\r\n" en formato DOS;
Puedes usar cat -v nombre del archivo para comprobar si el carácter de nueva línea es el anterior. Si es el anterior, el final de la línea será ^m. Debe convertirse a "\n" en formato Linux/Unix;
El método de conversión específico es convertir el carácter de nueva línea.
Puedes usar el comando sed para procesar el archivo. El comando es el siguiente:?
sed 's/\r//' archivo original>archivo convertido;
sed En los parámetros del comando, "" representa la decisión de citar los parámetros, y el shell no permite que los valores de los parámetros sean interpretados. s representa reemplazo/ seguido del contenido reemplazado. y lo siguiente // representa que el contenido reemplazado está vacío;
Se recomienda utilizar EditPlus o UltraEdit. Al utilizar estas herramientas de edición de texto, puede elegir el tipo de codificación de texto para guardar, como seleccionar UNIX. formato de saltos de línea;
Prefiero la función de unión de líneas de EditPlus. El valor de varias líneas se convierte en una línea lógica, que se puede escribir fácilmente en un script de shell como una variable de bucle.