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
.png
dans le dossier de destination)
Pour initialiser un environnement et tester le script, vous pouvez lancer les commandes suivantes :
mkdir camera photos
touch camera/pic1.png
touch camera/pic2.png
touch camera/pic3.png
touch camera/pic4.png
touch camera/vid1.mp4
touch camera/vid2.mp4
touch camera/vid3.mp4
touch camera/vid4.mp4
Question
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 photos
Il y a 4 photos dans le dossier