Bonjour,

Je cherche à faire le script suivant: "recup_scheduled_reports.sh"

je souhaite qu'on puisse l'appeler avec les options -d, -w ou -m.
on peut mettre autant d'options que l'on veut, mais le script ne peu être appelé sans option.

voici le code que j'ai fais par rapport à cette problématique:
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
 
while getopts ":d:w:m" freq; do
        case $freq in
                d)
                        WORKING_REMOTE_DIR_DAY=1
                        ;;
                w)
                        WORKING_REMOTE_DIR_WEEK=1
                        ;;
                m)
                        WORKING_REMOTE_DIR_MONTH=1
                        ;;
                ?)
                        Usage
                        ;;
        esac
shift $(( OPTING -1 ))
done
if [ $WORKING_REMOTE_DIR_DAY = "1" ]; then
        echo "WORKING_REMOTE_DIR_DAY=1"
fi
if [ $WORKING_REMOTE_DIR_WEEK = "1" ]; then
        echo "WORKING_REMOTE_DIR_WEEK=1"
fi
if [ $WORKING_REMOTE_DIR_MONTH = "1" ]; then
        echo "WORKING_REMOTE_DIR_MONTH=1"
fi
voici le résultat de l'exécution (script en mode debug):

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
if [ $WORKING_REMOTE_DIR_DAY = "1" ]; then
        echo "WORKING_REMOTE_DIR_DAY=1"
fi
+ '[' = 1 ']'
./recup_scheduled_reports.sh: line 66: [: =: unary operator expected
if [ $WORKING_REMOTE_DIR_WEEK = "1" ]; then
        echo "WORKING_REMOTE_DIR_WEEK=1"
fi
+ '[' = 1 ']'
./recup_scheduled_reports.sh: line 69: [: =: unary operator expected
if [ $WORKING_REMOTE_DIR_MONTH = "1" ]; then
        echo "WORKING_REMOTE_DIR_MONTH=1"
fi
+ '[' = 1 ']'
./recup_scheduled_reports.sh: line 72: [: =: unary operator expected
Pourriez-vous m'aider?

merci