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

Linux Discussion :

probleme avec les dossier . dans un script de sauvegarde


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut probleme avec les dossier . dans un script de sauvegarde
    Bonjours je dois rendre un projet dans le cadre de mes études
    #Shell : Save
    #Parcours des répertoires à partir d'un argument et recopie de tous les fichiers qu'on y trouve dans un répertoire "~/SAVE"
    #Attention, la commande find est proscrite de même que l'utilisation d'options de la commande cp.

    Donc pour le moment j'arrive nikel à copier tous mes fichiers et tous mes dossiers sauf ceux commencant par un .

    Je rajoute donc une clause .* pour séléctionner ce type de dossier seulement voilà j'ai besoin d'isolé maintenant le dossier . et le dossier .. je fait donc des test avec un script qui va liste les dossier commencant par un "." le problème est qu'avec la condition if test $i -eq . il prend en compte tous mes fichiers commencant par un .
    Bien entendu je ne vous demande pas de me faire le scripte mais si vous pouviez m'orienter vers une solution je vous en serais reconnaissant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #! /bin/sh
    for i in .*
    do
    if test $i -eq .
    	then
    		echo "$i est un fucking ."
    	else
    	echo $i
    fi
    done
    ili5@sunfire$ ls.sh
    . est un fucking .
    .#c-lisp.l est un fucking .
    .. est un fucking .
    .relou est un fucking .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #crcp.sh
    #! /bin/sh
    /home/ili5/exo/rcp.sh $1 /home/ili5/Save
    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
    #rcp.sh
    #! /bin/sh
    if test $# -eq 2
    then
    	if test -d $1
    	then
    	cd $1
    	echo "Repertoire $1 existant"
    	for i in .* *
    	do
    		if test -d $i
    		then
    		echo "$i est un dossier"
    		echo "création du dossier $i"
    		mkdir $2/$i
    		/home/ili5/exo/rcp.sh $i $2/$i
    		else
    		echo "$i est un fichier"
    		echo "copie de $i vers $2/$i"
    		cp $i $2/$i
    		fi
    		done
    	else
    	echo "Dossier $1 Inexistant ou introuvable"
    	fi
    fi

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

    tu peux utiliser la commande ls dans tes scripts?

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    normalement rien ne me l'interdit °° mais je n'ai pas le droit d'utiliser la commande find ni les option de cp. je vais voir ce que je peux faire avec ls >_>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ok dans ce cas tu as l'option -A de ls qui te permet d'afficher tous les répertoires et fichier à l'exception de ./ et ../

    man ls

    -A, --almost-all
    Afficher tous les fichiers du répertoire sauf '.' et '..'.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in `ls -A`
    do
    ..
    done

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    En effet merci beaucoup de l'aide

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 720
    Points : 31 043
    Points
    31 043
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Sh3ng Voir le message
    ...le problème est qu'avec la condition if test $i -eq . il prend en compte tous mes fichiers commencant par un .
    Bon ça a été résolu parce que "ls" possède l'option qui évite le "." et ".." mais pour l'avenir, faudra apprendre que l'option "-eq" de la commande test est destinée à la comparaison de nombres uniquement.

    Pour les chaines, faut utiliser "="
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if test "$i" = "."
    then
       ...
    fi

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

Discussions similaires

  1. Problem avec les colonnes dans un datagrid
    Par randriamanana dans le forum ASP.NET
    Réponses: 15
    Dernier message: 18/07/2007, 16h53
  2. [XSLT] probleme avec les doublons dans une liste deroulante
    Par mikooo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 02/04/2007, 15h37
  3. Probleme avec les regles dans OUTLOOK 2007
    Par JUSTIN Loïc dans le forum Outlook
    Réponses: 2
    Dernier message: 13/09/2006, 19h30
  4. Probleme avec les JPanel dans les JSplitPane
    Par L4BiN dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 16/08/2006, 14h29
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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