Bonjour,

J'ai un batch, comportant plusieurs shell bash, que je passe en traitement hebdomadaire.
A chaque passage hebdomadaire, un fichier compte-rendu différent est créé.

Il m'arrive alors, lorsque je voie des erreurs dans le compte-rendu, de corriger le ou les sources et de relancer le traitement.
Actuellement, le nouveau passage créé un fichier compte-rendu qui écrase le précédent (de la même semaine) .
D'où l'idée de créer des versions différentes pour chaque passage;
Quelque chose de simple du genre incrémenter un compteur placé à la fin du nom du fichier créé.

Voici le source actuel :
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
#!/bin/bash
 
ARG1=${1:?"Ce script nécessite a 1 arguments: \
	   1) arg1=99 (n° de semaine à éditer de l'année 2021" }
 
#####   Script : p0s.sh                                            #####
# Autheur :              Liam                                          #
# Date de creation :     01 Juin 2021                                  #
# Date de modification : 13 Juin 2021 => Mod1                          #
#                                                                      #
########################################################################
# Traitement batch d'une des semaines de l'année 2021                  #
########################################################################
 
declare -i numf3=$1-1
 
#    echo "argu1 = $1"                                                  #TEST
#    echo "numf3 = $numf3"                                              #TEST
 
fn1="f21peas"$1".csv"
fn2="fc"$1".csv"
fn3="fc"$numf3".csv"
fn4="f21s"$1".csv"
fn5="f21s"$1".log"                                                      #Mod1
 
# Contrôle de l'execution sur l'écran :                            #TEST
echo "fn1 = $fn1"                                                  #TEST
echo "fn2 = $fn2"                                                  #TEST
echo "fn3 = $fn3"                                                  #TEST
echo "fn4 = $fn4"                                                  #TEST
echo "fn5 = $fn5"                                                  #TEST#Mod1
 
if [[ ! -f "$fn1" ]]; then
    echo "${fn1} manque" >> fn5                                         #Mod1
else
    ./p1.sh     "$fn1" "$fn2"   >  "$fn4"
    ./p2.sh            "$fn2"   >> "$fn4"                  
    ./p3.sh            "$fn2"   >> "$fn4"           
    ./p4.sh            "$fn2"   >> "$fn4"
    ./p5.sh                     >> "$fn4"
    ./p6.sh                     >> "$fn4"
    ./p7.sh     "$fn3" "$fn2"   >> "$fn4"
    ./p8.sh                     >> "$fn4"
    ./p9.sh                     >> "$fn4"
 
    cat "$fn4"
fi