LinuxにCRLF改行の問題がありますか?

LinuxにCRLF改行の問題がありますか?

私はこの問題について常にチームメンバーと話し合います。開発ではWindows(CRLF)を使用し、サーバーではLinux(LF)を使用します。

LinuxでCRLF改行文字を含むファイルを見ると問題がありますか? Gitはこの状況をファイルで処理する必要がありますか.gitattributes

ベストアンサー1

ほとんどの場合、サーバーにファイルをアップロードするとき、Linuxカーネル自体は行末を知らないか気にしません。たとえムルノートCRLFはめちゃくちゃになりますシェルボーン

しかし、Linuxにはテキストファイルのすべての行が単一のLFで終わる慣例があります。多くのツールがCRを読み、他のツールと同じように扱います。一般文字(a、b、c、...)。これはから来ていますテキストファイルのPOSIX定義

これできるシェルスクリプト(sh、bash、zsh、ksh...)などの一部の言語で問題が発生します。運が良ければ、偽の追加パラメータによって構文エラーが発生し、スクリプトが失敗します。ただし、悪い場合は、ファイルの内容とファイル名が破損する可能性があります。

これは主にLinux / Unixでのみ実行されるように設計されたツールと言語の問題です。プラットフォームに依存しない多くの言語とツールが自動的に適応されます。したがって、問題が発生する可能性が低い。統合開発環境、またはコードエディタ。


したがって、同僚との議論を終了するために、LinuxではCRLFラインエンディングに問題はありません。 しかし、特定のツールや言語をそのままにすると、息が詰まったり変なことができます。

Linux/Unix プラットフォームで実行するコードを書く場合、通常は LF 行の末尾だけを残し、CR 文字を削除するように git を設定する方が簡単です。

おすすめ記事