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 :

Création d'une tâche via shell : cp : Impssible d'évaluer : Aucun fichier ou dossier de ce type


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 365
    Points : 139
    Points
    139
    Par défaut Création d'une tâche via shell : cp : Impssible d'évaluer : Aucun fichier ou dossier de ce type
    Bonjour,

    Je suis, en ce moment, en train de créer un script en environnement Shell.

    Voici un extrait du script ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #!/bin/bash
     
    DOSSIER_SOURCE=/mon_dossier_source
     
    DOSSIER_DESTINATAIRE=/mon_dossier_destinataire
     
    cp $DOSSIER_SOURCE+="/*.class.php" $DOSSIER_DESTINATAIRE
     
    cd $DOSSIER_DESTINATAIRE
     
    for i in *.class.php; do mv -- "$i" "${i%.class.php}.php"; done
     
    cd ~
    Ce script permet de copier des fichiers ayant pour extension ".class.php" vers un sous répertoire.

    Une fois ces fichiers copiés je les renomme en changeant l'extension de ".class.php" en ".php".


    Seulement voilà, j'ai des erreurs suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cp: impossible d'évaluer '/mon_dossier_source/*.class.php' aucun fichier ou dossier de ce type
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mv: impossible d'évaluer '*.class.php' aucun fichier ou dossier de ce type
    Comment puis-je faire interpréter pour faire copier les fichiers ce terminant par ".class.php" ?

    Comment effectuer la bonne concaténation entre la variable et une chaine de caractères sans que le caractère spécial '*' soit interprété comme faisant partie du nom d'un fichier ?

    Je vous remercie d'avance pour votre aide.

    Cordialement.

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 311
    Points : 12 830
    Points
    12 830
    Par défaut
    alors là, c'est très fort, tu protèges entre guillemets ce qui ne doit pas être (les glob) mais tu ne protèges pas ce qui doit l'être (les utilisations de variables).

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 365
    Points : 139
    Points
    139
    Par défaut
    Merci,

    J'ai effectué un essai de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cp $DOSSIER_SOURCE+="/"*.class.php $DOSSIER_DESTINATAIRE
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for i in *.class.php; do
       mv -- $i ${i%.class.php}.php;
    done

    J'ai le même message d'erreur.

    Cordialement.

  4. #4
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 311
    Points : 12 830
    Points
    12 830
    Par défaut
    Déjà pour le cp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp "$DOSSIER_SOURCE"/*.class.php "$DOSSIER_DESTINATAIRE"
    Ensuite ce type de message d'erreur apparait à partir du moment où le système ne trouve aucun fichier qui peut se substituer à ta glob (la glob inclus)

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2007
    Messages : 365
    Points : 139
    Points
    139
    Par défaut
    Merci pour ton aide.

    En effet, j'avais utilisé une opération de concaténation et mis les guillemets au mauvais endroit.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2018, 15h07
  2. Ouvrir une image via script shell
    Par roman67 dans le forum BSD
    Réponses: 1
    Dernier message: 30/07/2009, 19h21
  3. Réponses: 19
    Dernier message: 03/08/2004, 11h26
  4. Parser une chaine en shell script
    Par Gogoye dans le forum Linux
    Réponses: 10
    Dernier message: 19/07/2004, 18h49
  5. [ODBC][WINDOWS] gérer une base via ODBC
    Par narmataru dans le forum Windows
    Réponses: 2
    Dernier message: 19/12/2003, 14h36

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