J'utilise C# pour créer des scripts shell pour automatiser mes tâches sous Linux. Pour ce faire, j'utilise ci-dessous la structure:Créer des fichiers de script shell Linux en C# (qui n'a pas besoin de dos2unix)
List<string> batchFileLines = new List<string>();
batchFileLines.Add("shell command 1");
batchFileLines.Add("shell command 2");
System.IO.File.WriteAllLines(shellBatchFileName, batchFileLines.ToArray());
Cependant, lorsque je déplace mon fichier à Linux en raison de la différence EOL dans Windows et Linux (which a fixed suggested here for linux), EOL dans le fichier shell doivent être corrigées avec dos2unix
commande . Je veux savoir comment je peux manipuler mon fichier en C# afin qu'il ne soit pas nécessaire d'exécuter dos2unix
.
Quel serait le moyen de remplacer les nouvelles lignes avec le format Linux avec un minimum d'effort?
Vous pouvez simplement ajouter ascii 10 à la fin de chaque ligne. –
@ rory.ap DOS utilise le retour chariot et le saut de ligne ("\ r \ n") comme fin de ligne, que Unix utilise juste le saut de ligne ("\ n")., Donc je pense que je devrais supprimer '\ r'. – VSB
Copie possible de [Ecriture d'un fichier texte de style Unix en C#] (http://stackoverflow.com/questions/7841761/writing-unix-style-text-file-in-c-sharp) – Max