Salutation;
j'ai un couac dans le dernier script que je dois réaliser et je n'arrive pas à voir ce qui ne vas pas.
Je possède un fichier dans l'archive contenant les empreintes de divers fichiers.
Le but est de comparer si deux fichiers sont identiques en se servant de l'empreinte. Mais pour une raison que je ne m'explique pas je ne rentre pas dans mes conditions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ./contenuDansTar.sh test.tar essai.sh Le Fichier ListeMD5Tar.txt doit être présent dans l'archive !!!
Sauf que le fichier est bien présent x)
Voici le code
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 # !/bin/sh if [ $# -ne 2 ] then echo "Usage $0 archive.tar nom_fichier"<&2; exit 1; fi if [ -d $2 ] then echo "$2 n'est pas un fichier accessible; Usage $0 archive.tar nom_fichier"<&2; exit 2; fi Liste=0; if [ -f $2 ] then a=`md5sum $2`; b=`echo $a | cut -d " " -f1`; for k in `tar -tf $1` do if [ `basename $k` = "ListeMD5Tar.txt" ] then Liste=1; tar -xf $1 ListeMD5Tar.txt; nbLigne=`wc -l essai.sh | cut -d " " -f1`; while read ligne do empreinte=`echo $ligne | cut -d " " -f1`; fichier=`echo $ligne | cut -d " " -f2`; if [ "$b" = "$empreinte" ] then tar -xf $1 $fichier; fi done < ListeMD5Tar.txt fi done fi if [ $Liste -eq 0 ] then echo "Le Fichier ListeMD5Tar.txt doit être présent dans l'archive !!!"; exit 3; fi if [ $Liste -eq 1 ] then rm ListeMD5Tar.txt; fi exit 0;
Partager