Bonjour,
Voulant améliorer un script, je souhaite passer par l'utilisation d'options, via getopts.
Jusqu'à présent, j'utilisais des paramètres fixes, c'est à dire que script prenait 3 paramètres et fonctionnait très bien.
Depuis que j'essaye de mettre en place getopts, il ignore celui (pas très contrariant) :
Comme vous pouvez le voir, j'essaye juste avec un paramètre optionel i, mais dans l'absolu j'aimerais que le paramètre soit id (enfin, plus d'une lettre, sans pour autant avoir le double tiret).
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 #!/bin/bash EXPECTED_ARGS=3 E_BADARGS=65 ID="" while getopts :i: option do case "$option" in i) ID=$OPTARG ;; :) echo "id non present" exit 4 ;; \?) echo "Option incorrect" exit 5 esac done if [ $# -lt $EXPECTED_ARGS ] then echo "Usage: $0 nom user password" exit $E_BADARGS fi if [ -z $ID] then ID="dfghj" fi echo "Param 1 : $1" echo "Param 2 : $2" echo "Param 3 : $3" echo "Param ID : $ID" exit
Merci
Partager