Hello,
Je dois écrire un script shell afin de récupérer un certain nombre de fichiers dans un répertoire pour ensuite les injecter dans qmail. Ce sera un script qui tournera en crontab.
L'ennui se situe au niveau de la boucle for. Elle n'est exécuté qu'une fois, même si il y a plusieurs fichier. Je me demande si ça ne vient pas du fait que je récupére via un ls -1tr et que les retours-chariot du ls pose problème.
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 # Répertoire où se trouve les fichiers REP_TO_SEND="to_send/" # Répertoire où les mettre en cache avant l'injection REP_SEND_CACHE="send_cache/" # Vérification du nombre d'arguments if [ $# -lt 2 ]; then echo "Erreur, il manque des arguments" echo "\$1 : Répertoire où se trouve les fichiers" echo "\$2 : nombre de fichier à ajouter dans la queue" exit 1 fi # On vérifie si le répertoire passé en paramétre existe if [ ! -d $1 ]; then echo "Erreur, $1 n'existe pas ou n'est pas un répertoire" exit 1 else REP_FICHIER=$1 fi # Nombre de fichier à injecter par appel compteur=$2 # On récupére la liste des fichiers LIST=`ls ${REP_FICHIER}${REP_TO_SEND} -1tr | head -n $compteur` # Boucle qui va déplacer les fichiers dans le cache temporaire et les injecter for fichier in "$LIST"; do echo "mv ${REP_FICHIER}${REP_TO_SEND}${fichier} ${REP_FICHIER}${REP_SEND_CACHE}${fichier}" echo "$QMAIL_BIN < ${REP_FICHIER}${REP_SEND_CACHE}${fichier}" done
quelqu'un a une idée ???
@ bientôt
[/code]
Partager