2011-01-13 13 views
6

Soy nuevo en Cygwin, acabo de instalarlo e intenté establecer algunas variables de entorno simples. Sin embargo, cuando abro el shell de comandos, aparece el error "comando # 357 \ 273 \ 277 no encontrado"El comando Cygwin no encontró los caracteres incorrectos encontrados en .bashrc 357 273 277

Encontré un artículo que analiza cuál es el problema y cómo "descubrir" el carácter oculto incorrecto: http://mblog.lib.umich.edu/DataDiscussions/archives/2010/01/index.html pero no sé cómo resolver el problema eliminando el carácter (que validé era un problema en mi archivo .bashrc usando el comando od). Intenté cambiar la vista de preferencias en Notepad ++ a UTF-8 y ANSI inútilmente, pero el archivo no se alteró en absoluto.

Cualquier ayuda se agradece ...

Respuesta

8

Antes de alimentar sus archivos a cygwin bash, primero puede hacer una conversión dos2unix para resolver posibles conflictos como CR LF. fiesta abierta

nombre @ host ~ $ dos2unix your_file.sh

0

Puesto que usted ha editado su .bashrc exterior de Cygwin y se utiliza un editor de Windows, el editor podría haber ensuciado su carácter de nueva línea (es decir. CR, R, etc.) Puede decirle a Notepad ++ que muestre los caracteres ocultos. Creo que puedes encontrarlo en su configuración. Cambiar los conjuntos de caracteres es una cosa, pero poder ver los personajes ocultos es otra.

0

This artículo menciona algunos programas que puede utilizar para convertir archivos de texto de un estándar a otro. Intenta usar dos2unix en el archivo (en la línea de comando de cygwin).

1

Parece que si cambio de la codificación de UTF-8 a ANSI (no las preferencias de vista), el archivo se actualizará y el especial los caracteres se han ido, solucionando el problema "\ 357 \ 273 \ 277 comando no encontrado". ¡Hurra!

11

Hasta donde yo sé, un problema común con los archivos guardados en Notepad ++ como UTF-8 y Cygwin es que Notepad ++ guarda archivos codificados UTF-8 con una marca de orden de forma predeterminada. Este carácter BOM no es del todo compatible con entornos unix como Cygwin.

Si necesita caracteres Unicode en estos archivos, puede intentar usar la codificación "UTF-8 sin BOM" en Notepad ++, de lo contrario puede usar ANSI u otras codificaciones que no usen una BOM por defecto.

Además de la codificación, asegúrese de que el archivo esté guardado con saltos de línea de Unix (LF).

1

Una forma de quitar esto es en Linux utilizando vi. Si usted dice

vi el nombre de archivo

y luego en vi usar el comando ed: SE fileEncoding = ASCII

este se tira de los personajes excéntricos a cabo.

Puede confirmar esto guardando el archivo y ejecutando od -c en el archivo.

Antes: od -c changes.sql | cabeza 0000000 357 273 277 I N S E R T I N T O `

Después: od -c changes.sql | cabeza 0000000 I N S E R T I N T O `c o n

Cuestiones relacionadas