Bonjour,
Je dois modifier des scripts que j'ai faits il y a quelques temps et prendre en charge maintenant des paramètres. Pour le moment il n’y a que 2 paramètres.
Le 1er paramètre est une date au format dd/mm/aaaa et le 2nd paramètre un : oui,o, non ou n.
J'ai donc écrit les quelques lignes ci-dessous, mais je pense que l'on peut faire beaucoup plus simple. Si c'est le cas, pourriez-vous m'indiquer des pistes ....
D'avance merci
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
52
53
54
55
56
57 case $# in "1") if [ `echo $1 | awk -F"/" '{ if ( $1 > 0 && $1 <= 31 && $2 > 0 && $2 <= 12 && $3 > 0 && length($3) == 4 ) { print "OK" } else{ print "NOK" } }'` == "OK" ]; then DATE_JOUR=$1; DATE_JOUR2=`echo $1 | awk -F"/" '{print($3$2$1)}'` else echo "la date n est pas dans un format valide (dd/mm/yyyy)" echo "la date du jour sera prise par déut" DATE_JOUR=$(date '+%d/%m/%Y'); DATE_JOUR2=$(date '+%Y%m%d'); fi #Pas de parametre pour l envoi des fichiers #On utilise par déut la valeur NON MAIL_AVEC_FICHIER=NON; ;; "2") if [ `echo $1 | awk -F"/" '{ if ( $1 > 0 && $1 <= 31 && $2 > 0 && $2 <= 12 && $3 > 0 && length($3) == 4 ) { print "OK" } else{ print "NOK" } }'` == "OK" ]; then DATE_JOUR=$1; DATE_JOUR2=`echo $1 | awk -F"/" '{print($3$2$1)}'` else echo "la date n est pas dans un format valide (dd/mm/yyyy)" echo "la date du jour sera prise par déut" DATE_JOUR=$(date '+%d/%m/%Y'); DATE_JOUR2=$(date '+%Y%m%d'); fi var=`echo $2 | awk '{print tolower($0)}'`; case "$var" in o) MAIL_AVEC_FICHIER=OUI; ;; oui) MAIL_AVEC_FICHIER=OUI; ;; n) MAIL_AVEC_FICHIER=NON; ;; non) MAIL_AVEC_FICHIER=NON; ;; *) MAIL_AVEC_FICHIER=NON; ;; esac ;; *) DATE_JOUR=$(date '+%d/%m/%Y'); DATE_JOUR2=$(date '+%Y%m%d'); MAIL_AVEC_FICHIER=NON; ;; esac
Partager