Exercice : Appliquer la notion
On souhaite améliorer le script suivant.
cp camera/*.png photos/chmod 600 photos/*
ls -l photos
Ce script copie tout les fichiers .png se trouvant dans le dossier camera vers un dossier photos, change les droits en lecture/écriture uniquement au propriétaire, puis liste les fichiers pour afficher les permissions.
L'objectif est de le modifier pour qu'il n'affiche plus la liste des permissions des nouveaux fichiers, mais qu'il réalise 2 choses :
il prend le nom du dossier de destination en paramètre du script
il écrit, à la fin, un message indiquant "Il y a X photos dans le dossier" (où X est le nombre de fichiers
.pngdans le dossier de destination)
Pour initialiser un environnement et tester le script, vous pouvez lancer les commandes suivantes :
mkdir camera photostouch camera/pic1.pngtouch camera/pic2.pngtouch camera/pic3.pngtouch camera/pic4.pngtouch camera/vid1.mp4touch camera/vid2.mp4touch camera/vid3.mp4touch camera/vid4.mp4Question
Modifiez le script en conséquence.
Solution
On modifie le script pour avoir le contenu suivant.
cp camera/*.png $1/
chmod 600 $1/*
count=$(ls $1 | wc -l)
echo "Il y a $count photos dans le dossier"
Enfin on l’exécute en n'oubliant pas de donner le nom du dossier en paramètre.
$ ./script.sh photosIl y a 4 photos dans le dossier