IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Ajout de point d'interrogation dans le nom de fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut Ajout de point d'interrogation dans le nom de fichier
    Bonjour à tous,

    J'ai écrit un petit script permettant de sauvegarder un dossier puis d'envoyer le contenu par mail.
    Le problème est que BASH ajoute 1 ou 2 point d'interrogation au nom du fichier à envoyer : test.log?? et ceci à chaque fois... du coup l'envoi par mail ne se fait pas.
    Après plusieurs heures de recherche je sèche..

    Si vous avez des idées je suis preneur!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/bash
    sortie="/home/moi/test.log"
    echo "-------------------------------------------------------------------" 1>$sortie
    echo "EXECUTE LE: `date`" 1>>$sortie
    echo "-------------------------------------------------------------------" 1>>$sortie
    echo 1>>$sortie
    echo "" 1>>$sortie
    echo "-------------------- SAUVEGARDE: /var/www -------------------------" 2>&1 1>>$sortie
    rsync -ahv --delete-after /var/www/ /mnt/D1/www/ 2>&1 1>>$sortie
    echo "" 1>>$sortie
    echo "-------------------------------------------------------------------" 1>>$sortie
    mail -s "TEST" test@test.com << $sortie
    exit 0

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    << est un document en ligne, son usage nécessite une balise de début et de fin; cela ne sert pas à rediriger le contenu d'un fichier vers une commande.
    une faute de frappe, sans doute.

    peux-tu ajouter un set -x avant la commande problématique, et nous afficher la sortie ?

    PS: il est inutile d'indiquer que c'est le stdout qui est redirigé vers le fichier journal, c'est le comportement par défaut.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut
    Bonjour,

    Effectivement c'est une faute de frappe!
    je teste ça et je répond.

  4. #4
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut
    Re-Bonjour,

    Hé bien ne sort rien du tout... et même un simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "test" > fichier.log
    créer un fichier:

    Du coup, j'ai réécrit le même script ds un nouveau fichier à l'aide de nano et je n'ai plus ce problème...

    Incompréhensible.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Incompréhensible.
    d'autant que, nous, on ne sait pas comment tu faisais avant
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par DragOr Voir le message
    Du coup, j'ai réécrit le même script ds un nouveau fichier à l'aide de nano et je n'ai plus ce problème...

    Incompréhensible.
    Pas incompréhensible du tout, c'est juste des caractères qui n'étaient pas affichés par ton ancien éditeur, très vraisemblablement des CR si tu as commencé sous Windows.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ cat -v a
    #!/bin/bash
    file="test"^M
    date > $file^M
    ps >> $file^M
    ls -l $file*
    $ ./a
    -rw-r--r-- 1 jlliagre jlliagre 154 janv. 14 11:40 test??

  7. #7
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut
    Non, j'ai écrit le premier script avec vim, je suis sur ubuntu server.
    Et dans le premier fichier de script "script.sh", même en ne laissant que la ligne le résultat lors d'un était: .

    J'ai donc réécrit dans un nouveau fichier "script2.sh" via nano et le nom de sortie est correct.

    Ensuite j'ai copier l'intégralité de script.sh dans script2.sh via nano et là, plus de problème. En y repensant j'avais déjà eu un soucis mais avec un seul "?" en fin de fichier.

    Juste par curiosité j'aurais bien voulu savoir de quoi cela peut provenir...

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/01/2009, 12h47
  2. Point d'interrogation dans le menu systeme
    Par [Mel] dans le forum MFC
    Réponses: 1
    Dernier message: 29/03/2007, 11h59
  3. Point d'interrogation dans UPDATE
    Par the_bmo dans le forum MySQL
    Réponses: 1
    Dernier message: 18/10/2006, 11h58
  4. Des points d'interrogation dans le retour js
    Par franculo_caoulene dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/11/2005, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo