![Posso alterar o EOL do meu sistema Linux para usar \r\n em vez de \n pelos arquivos de configuração?](https://rvso.com/image/1482494/Posso%20alterar%20o%20EOL%20do%20meu%20sistema%20Linux%20para%20usar%20%5Cr%5Cn%20em%20vez%20de%20%5Cn%20pelos%20arquivos%20de%20configura%C3%A7%C3%A3o%3F.png)
Quero alterar o EOL padrão do meu sistema Linux de \n para \r\n sem recompilá-lo. Qualquer configuração torna isso possível (talvez localidade)?
Motivo: devo ter certeza de que para cada usuário que criar um arquivo, o arquivo será formatado corretamente (sem forçá-lo a usar unix2dos ou qualquer outra coisa)
Responder1
Estou editando minha resposta para fornecer este resumo no topo. Acredito que a resposta direta à sua pergunta básica é "Não, esta não é uma opção comumente suportada em muitos sistemas Linux". A seguir está minha explicação mais detalhada.
Duvido que isso possa ser feito facilmente. Em teoria, vários sistemas operacionais usam diferentes caracteres de nova linha, conforme observado porWikipédia: Representações. Em teoria, os programadores não deveriam se referir a \n ou \r\n quando desejam representar um “caractere de nova linha” (que pode ser um caractere, como o caractere Separador de Registros de sistemas QNX antigos, ou \r\n, como MS -DOS). Dessa forma, se alguém (em breve ou no futuro) desejar reutilizar o código, poderá simplesmente alterar uma variável.
Na prática, muitos programadores são conhecidos por “codificar” valores. Você pode usar “Linux from Scratch” e personalizar o sistema como quiser. Suponho que se você modificasse o código-fonte, poderia fazer com que todos os arquivos de configuração do seu sistema usassem a sequência de nova linha de sua preferência.
No entanto, o que acontece depois quando um usuário deseja usar um editor de texto específico ou um navegador específico? Você está preparado para “consertar” sua própria variação do código-fonte do navegador Google Chromium, apenas para acomodar essa mudança?
Como você pode ver deComentário de ChrisEdmonton, implementar essa mudança seria realmente incomum. Isso significa que é provável que você descubra que muitas coisas não funcionam bem com o objetivo de uma pessoa de implementar tal flexibilidade. Portanto, é provável que você encontre alguns problemas. Eu especulo que você provavelmente encontrará alguns problemas no futuro, bem depois que as coisas parecerem inicialmente bem.
Pessoalmente, os dados do meu computador têm algum valor para mim. Mesmo os dados que são tão inúteis que não me preocupo em fazer backup deles têm valor suficiente para mim e não quero fazer intencionalmente algo que possa causar problemas. (Só porque estou disposto a permitir que os dados sejam perdidos no caso improvável de uma catástrofe, não significa que eu queira metaforicamente despejar gasolina por todo o chão de um lado da casa, causando inutilmente intencionalmente uma situação que pode causar uma catástrofe.)
Portanto, a menos que você esteja disposto a examinar todos os tipos de coisas, incluindo drivers de sistema de arquivos e código do kernel que lida com a memória e todos os outros aspectos do sistema, provavelmente não vale a pena prosseguir com isso. Sugiro usar outra maneira de implementar a mudança.
Sim, eu conheço o argumento de que o Linux deveria ser de código aberto, então deveria ser personalizável. Mas a realidade é que o Linux cresceu tanto que fazer uma mudança pode ter consequências significativas. Tenha em mente que existem diferentes versões de Linux (Debian, Ubuntu, Mint, Red Hat, SUSE, etc.), sem mencionar outros sistemas operacionais do tipo Unix (BSD, Solaris, Mac OS X) e outros sistemas operacionais (Windows , DOS, CPM, VMS). Em teoria, fazer uma mudança como essa deveria ser mais fácil do que tentar convencer a Microsoft a fazer uma mudança em seu sistema operacional de código fechado. Na prática, pode haver muitas pessoas que você precisaria convencer para fazer uma alteração em alguns dos softwares mais populares que existem. Fazer alterações pode quebrar coisas e, portanto, as alterações devem ser feitas quando houver benefícios significativos e substanciais. É pouco provável que mudanças mais frívolas sejam dignas da dificuldade que podem implementar.
Algumas pessoas podem gostar que essas alterações sejam uma opção facilmente modificável. Um problema com muitas opções é que ter muitas opções pode desorganizar as interfaces de usuário, desorganizar a documentação e complicar o código-fonte (mesmo que a complexidade adicional seja bastante pequena), então há pessoas que promovem a ideia de criar padrões e opções de redução, por uma questão de simplicidade. Portanto, uma mudança como "personalizar caracteres de nova linha para software que suporta esta opção" pode trazer mais problemas do que o benefício esperado para tal opção.
O motivo fornecido é não querer que o usuário use "unix2dos" ao criar um arquivo. Como o usuário cria um arquivo? O usuário executa "nano"? Você poderia substituir "nano" por um script, que executa o nano normal e, em seguida, executa o unix2dos automaticamente. Você pode modificar o processo que os usuários criam/editam arquivos ou pode modificar o processo que afeta como o arquivo é transferido para outras máquinas que podem esperar \r\n (e então não se importar se o arquivo está usando apenas \n enquanto o arquivo ainda está na máquina Linux). É muito mais provável que tais abordagens direccionadas funcionem, sem consequências indesejadas, em vez de tentarem efectuar uma mudança em todo o sistema que afecte o modo como todo o sistema funciona.