Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
862 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  probleme exercice de prog en csh

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme exercice de prog en csh

n°769405
dukable
Posté le 09-01-2006 à 14:41:22  profilanswer
 

Bonjour, dans le cadre d'un cours de systeme en DUT info premiere année on a un probleme a résoudre, voici en gros l'énoncé :
 
Ecrire une commande menage [-d <répertoire> ] [-a] qui détruit tous les fichiers de nom core a.out, finis par .bak ou de taille nulle. Les options de la commande , de 0 a 2 peuvent apparaitre dans n'importe quel ordre :
- -d <rép>: la recherche se fait à ârtor de ce rep ou du HOME par défaut
- -a : entraine l'affichage par un listing long avant supression
 
La commande doit tester le nombre et le type de ses arguments. Comme on ne sait ni leur nombre ni leur ordre, on fera une boucle sur les arguments, contenant un switch vers les différentes valeurs que l'on peut trouver et une erreur si on ne reconnait pas la valeur. Attention ! -d sera compté comme un argument et <répértoire> comme un autre argument (car ce sont les espaces qui délimitent les arguments d'une commande).
 
On a fait l'exo mais il nous sort une vieille erreur du style tiret manquant, mais on voit pas ou, apparement l'erreur vient du switch, quelqu'un aurait une idée car ça fait un long moment qu'on cherche et on trouve pas.
 
#! /bin/csh
@ d = 0
@ a = 0
if( $#argv < 3 ) then  
  echo "erreur"
else
   foreach i ($argv)
      @ j = 1
      echo $i
      switch ( $i )  
           case "-d" :
         if ( -d $argv[$j+1] ) then
      @ d = 1
      else echo ' Erreur le rep indique n est pas au bon endroit ou n'est pas present '
  endif
  @ j ++
  breaksw
    case '-a' :
  if ( ! ( -d $argv[$j+1] ) ) then
      @ a = 1
  endif
  @ j ++
  breaksw
    default :
                @ j ++
      endsw
       
  end
  if ( $d==0 || $a==0 ) then
 echo 'erreur bla bla d ou a a 0'
        else
     find ~ \( -name "*.bak" -o -name "a.out" -o -name "core.*" -o -size 0 \) -exec ls -l {} -exec rm {} \;
  endif
endif

mood
Publicité
Posté le 09-01-2006 à 14:41:22  profilanswer
 

n°769452
Sebou77
French Tech powaa :-)
Posté le 09-01-2006 à 18:25:40  profilanswer
 

met ton code dans une balise [cpp] :)
Et donne la ligne d'érreur précise, ça aidera :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  probleme exercice de prog en csh

 

Sujets relatifs
[Red hat 9.0] Probleme de demarrage dans le fichier /etc/rc.d/rc.sysinproblème de démarrage suite à suppression clés registre
probleme cups sous kdeXorg 6.9 : Problème d'installation sous Solaris
[debian] Problème Accents sous Apache 2Probléme avec mandriva 2006 et carte wifi
Problème avec skype depuis que j'utilise netfilterDebian unstable: problème avec X
Probleme grep 
Plus de sujets relatifs à : probleme exercice de prog en csh


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR