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 :

Script shell exercice


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut Script shell exercice
    Bonjour,

    J'ai un exercice de script shell à faire mais je n'y arrive pas. Pouvez-vous me donner des pistes pour que je puisse le commencer s'il vous plait
    Merci

    Voici le sujet:

    Rédiger un script shell référencé images qui admet en argument un nombre quelconque de
    répertoires et qui affiche l'espace disque total occupé, dans chaque répertoire, par les
    fichiers de type image au format « point jpg ».
    L'espace disque total, occupé par toutes les images de tous les répertoires traités, est
    également affiché (dans l'exemple ci-dessus, 41 020 + 1 008 = 42 028).
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ ./images $HOME/Images/Noel_2009 pluf $HOME/Images/Saint_Maulvis /root
    /home/raoul/Images/Noel_2009 contient 41020 ko d'images jpg
    pluf : inexistant ou non répertoire
    /home/raoul/Images/Saint_Maulvis/ contient 1008 ko d'images jpg
    /root : lecture non autorisée
    -- Total : 42028 ko
    $
    On n'oubliera d'opérer toutes les vérifications adéquates et de programmer selon l'esprit
    Unix.
    Le format d'affichage de l'exemple cidessus devra être respecté.
    Indication.
    L'utilisation de la commande du peut s'avérer utile. Consulter le manuel. En effet, traiter des
    tailles de fichiers avec la commande ls est compliqué car les champs affichés par cette
    commande ne sont pas séparés par un espace, mais plusieurs, d'où des difficultés à les
    isoler avec le filtre cut.

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    sans dire que la formulation de l’énoncé est complètement évidente, il est tout de même pas trop mal détaillé, suffisamment pour qu'on comprenne le but de l'exercice sans ambiguïté

    un bon début serait donc de répondre à la question : quel est le but de l'exercice concrètement, qu'est-ce qu'il faut faire ? (reformulation)

    l'exemple est parlant lui aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ ./images $HOME/Images/Noel_2009 pluf $HOME/Images/Saint_Maulvis /root
    en plus des directives de l'exercice, on sait donc que le script doit s’appeler images et être invocable directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pluf : inexistant ou non répertoire
    /root : lecture non autorisée
    on sait également que les erreurs sont traitées, et on sait comment on doit les afficher s'il y en a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /home/raoul/Images/Noel_2009 contient 41020 ko d'images jpg
    /home/raoul/Images/Saint_Maulvis/ contient 1008 ko d'images jpg
    et quand il n'y a pas d'erreur, on sait également comment on doit afficher les résultats

    reste à décortiquer le processus, se représenter le bon algorithme, la structure générale du code
    • le script vient d'être lancé, le but est de travailler sur les arguments passés en ligne de commande, est-ce qu'on sait les récupérer ?
    • assez intuitivement, on va traiter chaque paramètre/répertoire séquentiellement, les uns après les autres, ça implique donc une boucle d'une manière ou d'une autre
    • on est dans la boucle, on commence à traiter le premier répertoire... qu'est-ce qu'on en fait ?


    arrivé ici, tu dois avoir au moins un bout de code, même non-fonctionnel, sur lequel on pourra éventuellement t'aider plus

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut Désolé mais je ne suis pas doué
    Salut, désolé j'ai beaucoup de difficulté a faire des scripts Shell


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #! /bin/bash
     
    If  (($#==0))
    Then  écho " au moins une argument requis " 
      Exit 1 
    Fi 
     
    For home
    Do..
    If ..
    Then écho "$HOME inexistant ou non répertoire "

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    faut pas dire ça : c'est un constat d'échec improductif.
    il est préférable de dire : « je voudrais progresser »
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut Je veux progressé
    Oui d'accord mais Je veux progresser vraiment, j'ai juste besoin d'aide

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    je te renvoie à la réponse de BufferBob.

    j'ai l'habitude de conseiller d'observer comment on résoud le problème en le faisant "à la main", sans chercher à automatiser, puis de dessiner un arbre de décision éventuellement.

    on ne peut malheureusement pas apprendre le maniement du shell à ta place.
    on ne fera pas ton travail, mais on corrigera volontiers tes erreurs.

    lis les tutos dans les liens qui figurent dans ma signature, et la FAQ shell
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 124
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 124
    Par défaut
    Citation Envoyé par marinette08 Voir le message
    Oui d'accord mais Je veux progresser vraiment, j'ai juste besoin d'aide
    Si tu devais faire l'exercice avec un papier, un crayon et une calculatrice, tu ferais comment ? Raconte...

    Citation Envoyé par BufferBob Voir le message
    sans dire que la formulation de l’énoncé est complètement évidente, il est tout de même pas trop mal détaillé, suffisamment pour qu'on comprenne le but de l'exercice sans ambiguïté
    Euh, y a au moins une ligne mal écrite et donc très ambigüe (nouvelle orthographe) :

    Citation Envoyé par marinette08 Voir le message
    On n'oubliera d'opérer toutes les vérifications adéquates et de programmer selon l'esprit Unix.
    Au choix :
    - On n'oubliera pas d'opérer toutes les vérifications adéquates et de programmer selon l'esprit Unix.
    - On oubliera d'opérer toutes les vérifications adéquates et de programmer selon l'esprit Unix.
    Bon, honnêtement, la deuxième option je n'y crois pas du tout, mais il est toujours bon, dans ce genre de contexte, de ne laisser aucune place à l'improvisation, à la supposition et à l'estimation.

Discussions similaires

  1. Exercice script shell
    Par elhanche dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 17/05/2013, 21h41
  2. deux exercices de scripts shell à résoudre
    Par sadiqmrd dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 04/06/2011, 20h25
  3. Explication script shell
    Par crasho007 dans le forum Linux
    Réponses: 2
    Dernier message: 14/06/2004, 13h54
  4. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

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