He escrito un fichero en windows (wordpad) y no puedo ejecutarlo en linux o unix: ¡dos2unix mágico!

Creo un fichero de shell ejecutable en Windows XP y me lo subo con el SSH Secure Shell a una máquina linux.
Mi fichero comienza con la línea #!/bin/sh, que informa del intérprete que hay que utilizar para leer las órdenes del archivo.
Y bueno, tras utilizar chmod u+x nombredearchivo, para poder ejecutarlo....me aparece como error que el sistema no reconoce al intérprete #!/bin/sh^M.
Ni el sistema, ni yo, porque la ^M no la había visto antes.
Me doy cuenta, por experiencia, de que la ^M me la ha añadido el windows y busco cómo deshacerme de ella. No es la primera vez, pero se me ha vuelto a olvidar.
Entoces doy con la solución (distinta de la de la última vez):
dos2unix nombredelfichero
¡Guau!
Lo encontré aquí en stackoverflow
También puede venir bien mostrar un archivo con todas las cositas que le añade el sistema
cat -A /tmp/testing.txt
Esto lo encontré en esta página 
Oooo si estás en vi:
vi -b filename
visto aquí en una página de esta web http://stackoverflow.com/
Con lo que luego puedes poner :%s/^M//g para insertar ^M, hay que poner CTRL-V y después CTRL-M
Si no, no te lo reconoce. 
Esto era cómo lo hacía antes: en este tutorial

Comentarios

Entradas populares