Problème de nom lors de la création d'un fichier via un bash [Résolu]

Signaler
Messages postés
264
Date d'inscription
dimanche 14 avril 2013
Statut
Membre
Dernière intervention
23 mai 2014
-
Messages postés
3839
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 avril 2021
-
Salut à tous,
Pour un projet, je crée un fichier texte (extension ots, mais je crois que ca a peu d'importance sous Linux), via un fichier bash.
J'utilise pour cela les commandes
export toto=toto.ots
echo text>$toto

Cependant, quand je lis ensuite le résultat sur le serveur, il m'affiche systématiquement le nom du fichier créé ainsi :

"toto.ots?" ou "toto.ots??"

Si je tente de lire ce fichier, ca ne marche qu'en faisant "toto.ots^M" (ou de fait "toto.ots^M^M")
Ce problème est bloquant, car j'utilise ce fichier avec d'autres applis plus tard, et de par son nom bizarre, elles ne le reconnaissent pas. Help!

Merci d'avance de votre aide.

@+. Hermios

3 réponses

Messages postés
264
Date d'inscription
dimanche 14 avril 2013
Statut
Membre
Dernière intervention
23 mai 2014
2
Salut,
Merci de la réponse, en fait, j'ai compris :
J'enregistre mon fichier au format Windows, et je le lance ensuite sous Linux. Donc il interprète les passages de ligne comme des lettres, et pas comme des passages de ligne.
Ca peut se corriger avec la commande dos2unix toto.sh

Merci quand même de ton aide!

@+. Hermios
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Salut,

Chez moi lorsque je fais les commandes suivantes j'obtiens le bon résultat :

export fileName=toto.ots
echo "Mon texte d'exemple">$fileName
more toto.ots


Shell
Messages postés
3839
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 avril 2021
121
extension ots, mais je crois que ca a peu d'importance sous Linux

Aucune importance, on ne met même pas d'extension :p


J'utilise pour cela les commandes
export toto=toto.ots
echo text>$toto


Échappe bien tout, dans le doute...
export toto="toto.ots"
echo "text" > "$toto"

quand je lis ensuite le résultat sur le serveur

C'est à dire ?

Si je tente de lire ce fichier, ca ne marche qu'en faisant "toto.ots^M" (ou de fait "toto.ots^M^M")

Problème de compabilité entre Windows et Unix. Le ^M est le caractère \r, si je ne m'abuse. Sous Windows un saut de ligne est: \r\n et sous Linux: \n.
Mais, en l'absence de plus de détails, je ne suis pas sur.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question