Bonjour à tous !
Je suis débutant et j'ai un souci avec avec la condition dans mon script en batch.
J'aimerai mettre au point pour mes cours un script qui contrôle les fichiers qui ont le droit Suid sur na machine.
Voici ce que j'aimerai mettre en place :
Lors du premier lancement du script, un fichier est créé contenant tous les fichiers qui ont le droit Suid.Ensuite, lors des prochains lancements du scripts, il va détecter que mon fichier existe et en créera un autre temporaire dans lequel il mettra la nouvelle liste des fichiers en Suid. Enfin il fera un diff des 2 fichiers pour les comparer.
Le problème , c'est que ma condition ne marche pas...
Voici mon code :
En gros au début je teste si mon fichier existe. Si il existe je crée un fichier temporaire et je fais le diff des 2.
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 #!/bin/bash original=/root/Bureau/scripts/Setuid.txt temporaire=/root/Bureau/scripts/Setuidtemp.txt base=/ if [ -e $orignal] then touch $temporaire recherche=`find $base -type f -perm -u=s -print` for fichiers in $recherche do detail=`ls -l $fichiers` echo $detail >> $temporaire done diff -a $orignal $temporaire rm $temporaire else touch $orignal recherche=`find $base -type f -perm -u=s -print` for fichiers in $recherche do detail=`ls -l $fichiers` echo $detail >> $orignal done fi exit
Si il n'existe pas je le crée (le ELSE).
Le problème c'est qu'il ne passe pas au ELSE alors que le fichier n'existe pas... il crée le fichier temporaire et forcéement le diff affiche une erreur. La condition ne marche pas... Au secours !!! Je suis pomé là...
Bonne journée et merci d'avance !
Partager