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 :

[Récursivité] analyse récursive


Sujet :

Shell et commandes GNU

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut [Récursivité] analyse récursive
    Bonjour.

    Je voudrai changer récursivement les permissions des fichiers d'un répertoire tout en préservant les permission des répertoires

    (755 pour les répertoires, car les permissions d'exécution des fichiers de type répertoire est indispensable à l'ouverture du répertoire, et 644 pour les fichiers contenus dans l'arborescence.)

    J'ai fait un script qui utilise la récursion, mais je ne sais pas s'il est très bon, de toute façon il ne marche pas. Je ne vois pas d'autre moyen de m'en sortir sans utiliser la récursion.
    Voilà le script, il s'appelle bien change_permission.sh :
    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
     
    #!/bin/bash
    #change récursivement les permission des fichiers 
    #contenus dans le répertoire cible
     
    DROIT_CODE=644;
    REP_CIBLE=${1} ;
     
    for i in "${1}"* ; do
     
        if [ -d "${i}" ] ; then
     
               chmod -v 755 "${i}"
               ./permission_change.sh "${i}"
     
         elsif [ -f "${i}" ]
     
               chmod -v $DROIT_CODE "${i}"
     
         fi;
     
    done

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par kromartien
    Bonjour.

    Je voudrai changer récursivement les permissions des fichiers d'un répertoire tout en préservant les permission des répertoires

    J'ai répondu récemment à ce genre de question

    http://www.developpez.net/forums/sho...d.php?t=339155

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    D'accord, merci beaucoup, j'ai réussi à gérer les espaces en utilisant l'option -d de xargs qui précise les séparateurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find ./ -type d | xargs -d "\n" chmod 644

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

Discussions similaires

  1. Qu'est ce qu'une analyse fonctionelle
    Par sandrine dans le forum Débats sur le développement - Le Best Of
    Réponses: 22
    Dernier message: 28/02/2015, 19h03
  2. Analyse récursive d'un répertoire
    Par cledesol dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 17h08
  3. Probleme récursivité pas si récursive que ça
    Par kirasakuya dans le forum C#
    Réponses: 1
    Dernier message: 17/07/2008, 16h02
  4. Outil d'analyse de code
    Par Bloon dans le forum Outils
    Réponses: 8
    Dernier message: 07/08/2007, 09h04
  5. Procédure Récursives
    Par DocCoinCoin dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 30/10/2002, 19h27

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