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

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2017
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : septembre 2017
    Messages : 61
    Points : 36
    Points
    36

    Par défaut

    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
     
    calculbulletin(){
       cheminetudiants=/home/fred/examen/Etudiants
       cheminbulletins=/home/fred/examen/Bulletins
       cheminbackup=/home/fred/examen/Backup
       #cd "$cheminbackup"
       #nbcours= ls  "$cheminbackup" | wc -l
       cd "$cheminetudiants"
       cp * "$cheminbulletins"
       cd "$cheminbulletins"
       FILES=/home/fred/examen/Bulletins/*
       #echo "$nbcours"
       totalpoints=0
       for f in $FILES
       do
          echo "$f"
          cat $f | while read cours point
          do
             let "totalpoints= totalpoints+point"
           #echo "$totalpoints"
          done
       done
       echo "$totalpoints"
    }
    Pq mmon echo "$totalpoints" m'affiche 0
    alors que si je le place après le let, j'ai la bonne somme?

  2. #22
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 5 386
    Points : 14 069
    Points
    14 069

    Par défaut

    à cause de l'UUOC mentionné précédemment : le pipe crée un sous-interpréteur en dehors duquel les variables qui y sont créées/modifiées restent inchangées ou inexistantes !

    EDIT
    Attention !
    Code erroné : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       FILES=/home/fred/examen/Bulletins/*
       for f in $FILES
    n'est pas équivalent à
    Code correct : Sélectionner tout - Visualiser dans une fenêtre à part
    for f in /home/fred/examen/Bulletins/*
    si tu souhaites stocker la liste des éléments du répertoire dans une variable (est-ce bien utile ?!) utilise un tableau, qui, lui, protégera les noms des fichiers s'ils contiennent des espaces, des alinéas, et autres "joyeusetés".
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #23
    Expert éminent Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    décembre 2012
    Messages
    3 086
    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 : 3 086
    Points : 8 703
    Points
    8 703

    Par défaut

    Bonjour,

    Dire de ne pas utiliser cd et ne pas donner une solution simple pour le mkdir afin qu'il crée plusieurs répertoires au même niveau, c'est pas cool...

    Voici un exemple qui va créer le repertoire exemple s'il n'existe pas et 3 répertoires (rep1 , rep2 , rep3) dans ce même répertoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ ls -1 /tmp/exemple
    ls: impossible d'accéder à /tmp/exemple: Aucun fichier ou dossier de ce type
    $ mkdir -p /tmp/exemple/{rep1,rep2,rep3}
    $ ls -1 /tmp/exemple
    rep1
    rep2
    rep3
    Cordialement.

  4. #24
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    5 386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 5 386
    Points : 14 069
    Points
    14 069

    Par défaut

    Citation Envoyé par disedorgue
    Dire de ne pas utiliser cd et ne pas donner une solution simple pour le mkdir afin qu'il crée plusieurs répertoires au même niveau, c'est pas cool...
    Citation Envoyé par NBaH
    en général, on n'utilise pas cd dans un script : on stocke le chemin dans une variable, et on fait précéder tout ce qui doit être fait dans le répertoire par la variable.
    et puis, ça ne faisait pas partie de la question.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Quel est le meilleur langage pour manipuler des dossiers et des fichiers ?
    Par gstratege dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 13/10/2015, 11h08
  2. [VBA-A]Parcours d'une arborescence dossiers et fichiers
    Par sidneyvba dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/03/2006, 17h58
  3. dossier ou fichier?
    Par Biosox dans le forum C++
    Réponses: 2
    Dernier message: 06/10/2005, 15h41
  4. Peut on manipuler le système de fichier par T-SQL?
    Par WOLO Laurent dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 22/12/2003, 10h19
  5. Dossier ou Fichier avec ShellListView
    Par MoussDiouf dans le forum Langage
    Réponses: 6
    Dernier message: 14/06/2003, 13h33

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