/ / Pourquoi bash sur Ubuntu sous Windows utilisant toujours CRLF comme fin de ligne - vim

Pourquoi bash sur Ubuntu sous Windows utilisant encore CRLF comme fin de ligne

Je pense que la bash sur Ubuntu sur Windows devrait utiliserLF comme fin de ligne, mais je me trompe. Il semble également utiliser CRLF de la même manière que sur le shell Windows. Lorsque je travaille dessus, j’ai un problème avec ^ M de git diff comme ceci:

-            srv.save(name, atrbts);
+            if (gm.isMailboxEnable()) {^M
+                srv.createMailGroup(name, atrbts);^M
+            } else {^M
+                srv.save(name, atrbts);^M
+            }^M

Je sais que le problème est. Je veux dire que la bash sur Ubuntu sur Windows devrait utiliser LF comme fin de ligne plutôt que CRLF, devrait-il?

Mettre à jour:

Je me suis trompé en ouvrant un fichier de format dos particulier dans le Bash et le détecte automatiquement par Vim, puis en utilisant CRLF comme fin de ligne. Alors le problème a été résolu.

j'utilise :set ff La commande dans Vim et sa sortie est fileformat = dos alors j'ai trouvé mon erreur. je peux utiliser dos2unix commande pour réparer ce problème.

Réponses:

1 pour la réponse № 1

C’est probablement pour assurer la compatibilité entre windows bash et text files créé sur Windows OS. C'est pourquoi il utilise CRLF comme nouvelle ligne.

Liste des représentations communes:

LF: Unix and Unix-like systems (Linux, OS X, FreeBSD, Multics, AIX, Xenix, etc.), BeOS, Amiga, RISC OS, and others.

CR+LF: Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10, RT-11, CP/M, MP/M, Atari TOS, OS/2, Symbian OS, Palm OS, Amstrad CPC, and most other early non-Unix and non-IBM OSes

CR: Commodore 8-bit machines, Acorn BBC, ZX Spectrum, TRS-80, Apple II family, Oberon, the classic Mac OS up to version 9, MIT Lisp Machine and OS-9

RS: QNX pre-POSIX implementation

0x9B: Atari 8-bit machines using ATASCII variant of ASCII (155 in decimal)

LF+CR: Acorn BBC and RISC OS spooled text output.

Vous pouvez ajouter Windows Bash à la liste sur CR+LF.