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

Résolu
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 - 4 nov. 2010 à 15:42
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 4 nov. 2010 à 16:54
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

Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
4 nov. 2010 à 16:47
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
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
4 nov. 2010 à 16:38
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
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
4 nov. 2010 à 16:54
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
0
Rejoignez-nous