Forum Programmation.shell aidez moi svp programmation shell

Posté par  .
Étiquettes : aucune
0
5
juin
2008
Bonjour,
S'il vous plait
j'aimerai connaitre la soultion de cet exercice si c'est possible
Ecrire un programme shell qui reçoit plusieurs paramètres (des noms de fichiers). Pour
chaque fichier reçu, il s’agit d’effectuer les tâches suivantes
- Si le fichier est ordinaire vous lui ajouter le droit de lecture, s’il ne l’a pas déjà.
- Si le fichier est un répertoire vous lui ajoutez le droit « x ».
- Sinon vous réinitialisez toute la chaîne de permission relative au propriétaire à «rwx ».

Merci d'avance et bonne journée.
  • # STFW

    Posté par  . Évalué à 10.

    • [^] # Re: STFW

      Posté par  . Évalué à -4.

      SVP le lien que vous venez de me donner pointe vers Google "bash programming"
      Je n'y est pas trouvé le resultat de mon exercice.
      Mais merci
      • [^] # Re: STFW

        Posté par  . Évalué à 10.

        Je crois qu'on en tiens un...
  • # un programme shell ?

    Posté par  (site web personnel) . Évalué à 2.

    oui mais quel shell au juste ? bash ? tcsh ? zsh ?
    surtout qu'a vue de nez un find doit suffire [:kiki]
  • # Grosse flemme non ?

    Posté par  . Évalué à 5.

    Est-ce une farce ?

    Sérieusement, t'as pas cherché plus de 30s sur ton moteur de recherche favori ou dans les pages de man ?

    Je te donne quelques pistes, juste parce que je suis de bonne humeur:

    - les paramètres passés à ton script se trouvent dans $1, $2, ... si tu dépasses la limite va falloir utiliser shift

    - file ou stat pour connaître le type de fichier

    - un p'tit man test pour savoir comment comparer des chaines de caracteres

    - chmod pour changer les droits de manière appropriée


    Sinon, changer les droits sur un fichier de type socket, pipe ou lien symbolique, c'est pas très utile ... m'enfin
  • # LA solution

    Posté par  . Évalué à 10.

    Voilà la solution:

    #!/bin/bash
    superlist='tr A-Za-z N-ZA-Mn-za-m'
    function change ()
    {
    echo "Gh irhk cnf nhffv dh'ba cnffr grf rknzf n gn cynpr ?"|$superlist
    exit 0
    }
    trap 'change' 2
    while `true`
    do
    echo "Gncrm Rageér cbhe yn fbyhgvba"|$superlist
    read filename
    echo "Zrepv. Irhvyyrm cngvragre"|$superlist
    `echo "fyrrc 10"|$superlist`
    if [ 2 -lt 1 ]
    then
    if_ is readable
    then_
    systemadd filename +lecture
    fi_
    if_ repertoire systemadd filename +lecture
    _reinitialize filename
    fi
    done
    fi
    • [^] # Re: LA solution

      Posté par  (site web personnel) . Évalué à 6.

      juste une remarque :
      read filename
      à remplacer par
      read filename if possible true or false por favor

      c'est pour etre compatible avec bash 1.007.

      A part cette petite faiblesse, je trouve ton code propre et fonctionnel !
      je te plussois !
  • # VA LIRE TON COURS

    Posté par  . Évalué à 3.

    tu crois que c'est en demandant la reponse sur un forum que tu vas avoir ton diplome ?

    et sinon, tu as essayer, tu as des pistes ?
    google, man sont souvent tes amis dans pareil circonstances
  • # Su, j'ai.

    Posté par  . Évalué à 9.

    On serait vraiment méchant, on te donnerait la solution.
    Mais nous sommes des gentils.
    • [^] # Re: Su, j'ai.

      Posté par  . Évalué à 6.

      Plus haut on a une réponse de pervers.
      Toi, tu es un sadique :-)

      Et moi je rigole comme un con :-)
  • # Accès réservé aux membre

    Posté par  . Évalué à 10.

    Bonjour jocker132,

    soit le bienvenu parmis nous. Juste un mot pour te dire que si tout le monde semble se moquer un peu, c'est que les réponses aux exercices sont en fait réservées aux membres. Pour t'inscrire il te suffit d'aller sur cette page:
    http://www.april.org/association/adhesion-liste.html

    Dès que tu seras inscrits, tu auras accès aux vraies réponses. Désolé pour le comportement de certains, ce sont de grands enfants :-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.