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

Administration système Discussion :

Script bash de fichiers d'un repertoire


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 49
    Par défaut Script bash de fichiers d'un repertoire
    Bonjour.
    J'ai un léger problème avec un script bash qui doit copier d'un répertoire source vers un répertoire destination uniquement les fichiers (et pas les répertoires ). Mon script fonctionne mais il prend en compte mes fichiers répertoire alors que je les ai exclut a travers une condition.
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    #!/bin/bash
     
    clear
    echo -e \\n \\t "Quel est le repertoire source que vous voulez copier ?"
    read src
    if [ -z $src ] ; then
    echo -e \\n \\t "Vous n'avez pas donner le nom du repertoire source !"
    exit
    fi
    if [ ! -d $src ] ; then
    echo -e \\n \\t $src" n'est pas un repertoire !"
    exit
    fi
     
    echo -e \\n \\t "Quel est le repertoire de destination ?"
    read dst
    if [ -z $dst ] ; then
    echo -e \\n \\t "Vous n'avez pas donner le nom du repertoire de destination !"
    exit
    fi
    if [ ! -d $dst ] ; then
    echo -e \\n \\t $dst" n'est pas un repertoire !"
    exit
    fi
     
    droitsEcriture=1
     
    if [ ! -w $dst ] ; then
    chmod u+w $dst
    droitsEcriture=0
    fi
    #Copie les fichiers ordinaire d'un repertoire source dans un repertoire destination si non-existence des fichiers dans le repertoire de destination
    appartient=0
    for ficSrc in `ls $src` ; 
    do 
    	if [ ! -d $ficSrc ] ; #Le script ne devrait traiter que les fichiers , pourtant il essaye tout de meme de copier les repertoires  
    		then
    			for ficDst in `ls $dst` ; 
    			do
    				if [ $ficSrc == $ficDst ] ; 
    				then
    					appartient=1
    				fi
    			done
    		if [ $appartient == 0 ] ; then
    		cp $src/$ficSrc $dst
    		fi
    	fi
    done
     
    if [ $droitsEcriture == 0 ] ; then
    chmod u-w $dst
    fi
    A l’exécution du script , la copie se passe correctement mais j'ai des messages d'erreur du type:
    cp : omission du repertoire nomRepertoire

    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [ ! -d $ficSrc ]
    Ce test foire car il effectue le test non pas à partir du repertoire source sinon à partir du répertoire courant.

    Tu dois donc adapter la ligne de cette manière pour que le test réussisse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [ ! -d "$src/$ficSrc" ]

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 49
    Par défaut Ah oui effectivement
    Merci pour l'aide!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/03/2008, 14h46
  2. Probleme script bash - redirection fichier..
    Par origan31 dans le forum Linux
    Réponses: 1
    Dernier message: 25/08/2007, 19h08
  3. Réponses: 1
    Dernier message: 09/02/2007, 22h51
  4. Script de renommage auto fichier d'un repertoire
    Par faventin dans le forum Windows
    Réponses: 1
    Dernier message: 09/11/2006, 21h27
  5. Réponses: 21
    Dernier message: 29/09/2005, 19h33

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