구성 파일에서 \n 대신 \r\n을 사용하도록 Linux 시스템 EOL을 변경할 수 있습니까?

구성 파일에서 \n 대신 \r\n을 사용하도록 Linux 시스템 EOL을 변경할 수 있습니까?

내 Linux 시스템의 기본 EOL을 다시 컴파일하지 않고 \n에서 \r\n으로 변경하고 싶습니다. 어떤 구성으로든 이것이 가능합니까(아마도 로케일)?

이유: 파일을 생성하는 모든 사용자에 대해 파일 형식이 올바른지 확인해야 합니다(unix2dos나 다른 것을 사용하도록 강요하지 않고).

답변1

이 요약을 맨 위에 제공하기 위해 답변을 편집하고 있습니다. 귀하의 기본 질문에 대한 직접적인 대답은 "아니요, 이것은 많은 Linux 시스템에서 일반적으로 지원되는 옵션이 아닙니다"라고 생각합니다. 다음은 나의 더 자세한 설명입니다.

이것이 쉽게 이루어질 수 있을지 의심스럽습니다. 이론적으로 여러 운영 체제는 다음과 같이 서로 다른 개행 문자를 사용합니다.위키피디아: 표현. 이론적으로 프로그래머는 "개행 문자"(예: 이전 QNX 시스템의 레코드 구분 기호 문자 또는 MS와 같은 \r\n)를 표현하려는 경우 \n 또는 \r\n을 참조해서는 안 됩니다. -DOS). 이렇게 하면 누구든지(곧 또는 장래에) 코드를 재사용하려는 경우 변수 하나만 변경하면 됩니다.

실제로 많은 프로그래머는 값을 "하드 코딩"하는 것으로 알려져 있습니다. "Linux from Scratch"를 사용하여 원하는 대로 시스템을 사용자 정의할 수 있습니다. 소스 코드를 수정했다면 시스템의 모든 구성 파일이 원하는 개행 순서를 사용하도록 만들 수 있을 것입니다.

그러나 나중에 사용자가 특정 텍스트 편집기나 특정 웹 브라우저를 사용하려고 하면 어떻게 됩니까? 이 변경 사항을 수용하기 위해 Google Chromium 웹 브라우저 소스 코드의 변형을 "수정"할 준비가 되셨습니까?

에서 볼 수 있듯이ChrisEdmonton의 코멘트, 이 변경 사항을 구현하는 것은 실제로 이례적입니다. 이는 그러한 유연성을 구현하려는 한 사람의 목표와 잘 맞지 않는 많은 일이 발생할 가능성이 높다는 것을 의미합니다. 그래서 당신은 꽤 많은 문제에 직면할 가능성이 높습니다. 나는 당신이 처음에는 괜찮았던 것처럼 보이다가도 나중에 꽤 많은 문제에 직면하게 될 것이라고 추측합니다.

개인적으로 내 컴퓨터 데이터는 나에게 어느 정도 가치가 있습니다. 너무 가치가 없어서 백업할 필요가 없는 데이터라도 나에게는 충분히 가치가 있어 문제를 일으킬 수 있는 작업을 의도적으로 수행하고 싶지 않습니다. (만일 재난이 닥쳤을 때 데이터가 손실되도록 허용한다고 해서 비유적으로 집 한쪽 바닥에 휘발유를 쏟아부어 의도적으로 쓸데없는 상황을 일으키고 싶다는 의미는 아닙니다. 대참사를 불러일으킬 수도 있습니다.)

따라서 메모리를 처리하는 파일 시스템 드라이버와 커널 코드 및 시스템의 다른 모든 측면을 포함하여 모든 종류의 사항을 기꺼이 살펴보지 않는 한 이것은 아마도 추구할 가치가 없을 것입니다. 변경 사항을 구현하려면 다른 방법을 사용하는 것이 좋습니다.

예, 저는 Linux가 오픈 소스이기 때문에 사용자 정의가 가능해야 한다는 주장을 알고 있습니다. 그러나 현실은 Linux가 너무 많이 성장했기 때문에 변경을 하면 상당한 결과를 초래할 수 있다는 것입니다. 다른 Unix 계열 운영 체제(BSD, Solaris, Mac OS X) 및 기타 운영 체제(Windows)는 물론, 다양한 버전의 Linux(Debian, Ubuntu, Mint, Red Hat, SUSE 등)가 있다는 점을 명심하세요. , DOS, CPM, VMS). 이론적으로 이와 같은 변경은 Microsoft가 비공개 소스 운영 체제를 변경하도록 설득하는 것보다 더 쉽습니다. 실제로는 널리 사용되는 일부 소프트웨어를 변경하기 위해 설득해야 할 사람들이 많이 있을 수 있습니다. 변경하면 문제가 발생할 수 있으므로 상당한 이점이 있을 때 변경해야 합니다. 더 경솔한 변경 사항은 구현할 수 있는 어려움을 감당할 가치가 없을 것입니다.

어떤 사람들은 이러한 변경 사항을 쉽게 수정할 수 있는 옵션으로 만들고 싶어할 수도 있습니다. 옵션이 많을 때의 한 가지 문제는 옵션이 너무 많으면 사용자 인터페이스가 복잡해지고, 문서가 복잡해지고, 소스 코드가 복잡해질 수 있다는 것입니다(추가되는 복잡성이 상당히 작더라도). 단순함을 위해 표준 및 축소 옵션을 제공합니다. 따라서 "이 옵션을 지원하는 소프트웨어에 대한 개행 문자 사용자 정의"와 같은 변경은 해당 옵션에 대해 예상되는 이점보다 더 많은 어려움을 초래할 수 있습니다.

귀하가 제공한 이유는 사용자가 파일을 생성할 때 "unix2dos"를 사용하는 것을 원하지 않기 때문입니다. 사용자는 어떻게 파일을 생성합니까? 사용자가 "나노"를 실행합니까? 잠재적으로 "nano"를 일반 nano를 실행한 다음 unix2dos를 자동으로 실행하는 스크립트로 바꿀 수 있습니다. 사용자가 파일을 생성/편집하는 프로세스를 수정하거나 \r\n을 예상할 수 있는 다른 시스템으로 파일이 전송되는 방식에 영향을 미치는 프로세스를 수정할 수 있습니다. 파일은 여전히 ​​Linux 시스템에 있습니다). 이러한 목표화된 접근 방식은 전체 시스템 작동 방식에 영향을 미치는 시스템 전체의 변화를 시도하는 것보다 의도하지 않은 결과 없이 작동할 가능성이 훨씬 더 높습니다.

관련 정보