copyten-mk2.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. # création du compteur de fichiers copiés.
  3. countfiles=0
  4. # On demande quels fichiers doivent être copiés. Mais avant cela, on
  5. # explique à l'utilisateur ce que fait ce programme.
  6. echo "Attention: ce programme copie au maximum 10 fichiers."
  7. read -p 'Que souhaitez-vous copier: ' files
  8. # On demande la destination:
  9. read -p 'Répertoire de destination: ' dest
  10. # <destination> doit être un répertoire:
  11. if [ ! -d $dest ]
  12. then
  13. echo "Erreur: la destination doit être un répertoire."
  14. echo " Le cas échéant, utilisez \"mkdir $dest\""
  15. echo " pour créer le répertoire de destination."
  16. exit 1
  17. else # Si <destination> est un répertoire, alors pour chaque fichier
  18. # copié on incrémente le compteur. Et dès que le compteur
  19. # atteint le chiffre de 10, on sort de la boucle.
  20. for file in $files # pour chaque fichier à copier
  21. do
  22. if [ ! -e $file ] # si le fichier à copier n'exite pas
  23. then
  24. echo "création de $file qui n'existe pas..."
  25. touch $dest/$file
  26. continue # arrêter ici et reprendre à la l. 24
  27. fi
  28. cp $file $dest
  29. let "countfiles = countfiles + 1"
  30. if [ $countfiles -eq 10 ]
  31. then
  32. break # sortie de la boucle
  33. fi
  34. done
  35. fi
  36. echo "Terminé. 10 fichiers au maximum ont été copiés dans $dest."