Bonjour,
Je rencontre quelques difficultés sur la réalisation d'un script de renommage (boule for).
Le renommage s'effectue bien, par contre c'est au niveau des arguments de tests que je rencontre le problème.
La finalité de l'exercice :
exécuter un script depuis un répertoire "A" puis aller jusqu’à une arborescence "B" et, entrer dans le répertoire passer en argument et modifier les noms de fichiers via une boucle for.
S'assurer que le script prendra deux arguments en paramètres (pas moins). Vérifier que le premiers argument passé en paramètre est un répertoire, et, que le le second n'est pas vide.
Ma condition de test ne semble pas être correctement discriminante car quoi que je fasse la boucle est exécutée voir (test1 & 2)
Pourrais-vous m'aider à corriger cette anomalie afin que le test des correctement réalisé avant passage à la boucle. ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 script #!/bin/bash # boucle_for # From="/home/linuxkubuntu/" goTo="Downloads/" cd $goTo pwd # || ou-que # verifier si argument recu et valide if [[ $# -ne 2 && ! -d "$1" ]] ; then echo "Usage : $0 argument invalide" exit 1 fi cd $1 pwd for i in *.jpg do # renomme les fichiers $i echo "$i => $2_$i" # mv "$i" "$2$i" # déplacement de l'archive vers le volume MX_500_HD # suppression du repertoire source done # compression du dossier echo "step2 ------------------ compression" # tar cvfz ${dirSource}/Downloads/testShar.gtar.gz Sharon_Step_Mon/ 2>&1 | tee /tmp/myFileToAnnalizeLater.txt # zip -r testShar.tar.gz $1 # zip -r nom_de_larchive.zip dossier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 test_1 linuxkubuntu@node2:~$ bash -x boucle_img.sh SSM NewName + goTo=Downloads/ + cd Downloads/ + pwd /home/linuxkubuntu/Downloads + [[ 2 -ne 2 ]] + cd SSM + pwd /home/linuxkubuntu/Downloads/SSM + for i in *.jpg + echo '1001597.jpg => NewName_1001597.jpg' 1001597.jpg => NewName_1001597.jpg + for i in *.jpg + echo '1001598.jpg => NewName_1001598.jpg' 1001598.jpg => NewName_1001598.jpg + for i in *.jpg + echo '1001599.jpg => NewName_1001599.jpg' 1001599.jpg => NewName_1001599.jpg + echo 'step2 ------------------ compression' step2 ------------------ compression
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 test_2 linuxkubuntu@node2:~$ bash -x boucle_img.sh SSM + goTo=Downloads/ + cd Downloads/ + pwd /home/linuxkubuntu/Downloads + [[ 1 -ne 2 ]] + [[ ! -d SSM ]] + cd SSM + pwd /home/linuxkubuntu/Downloads/SSM + for i in *.jpg + echo '1001597.jpg => _1001597.jpg' 1001597.jpg => _1001597.jpg + for i in *.jpg + echo '1001598.jpg => _1001598.jpg' 1001598.jpg => _1001598.jpg + for i in *.jpg + echo '1001599.jpg => _1001599.jpg' 1001599.jpg => _1001599.jpg + echo 'step2 ------------------ compression' step2 ------------------ compression
par avance merci à tous.
Partager