Le 04/10/2024 à 18:37, benoit a écrit :
Bonjour,

Avec getopts, je ne sais pas comment on fait pour récupérer de multiple arguments dans $OPTARG, j’ai regardé un peu sur le net, mais je ne comprends pas bien.

Si par exemple, je voulais écrire un script qui concatène des fichiers dans le fichier destination.txt
% ./monscript -i fichier1.txt fichier2.txt -o destination.txt

$OPTARG ne contient que fichier1.txt, comme si fichier2.txt, n’était pas analysé par getopts


Merci d’avance

–
Benoît

Avertissement: j'y connais rien, je n'écris pas de scripts bash, je n'utilise pas $OPTARGS

par contre, c'est peut-être moi qui ne comprends pas mais d'après les docs:
https://linuxsimply.com/bash-scripting-tutorial/functions/script-argument/bash-optarg/
file://///usr/share/doc/util-linux/examples/getopt-example.bash
et les pages man getopt(1 et 3)
(tout ça malheureusement parcouru en diagonale)

1) j'ai l'impression que $OPTARGS ne retourne que la valeur du paramètre choisi (désolé si j'enfonce une porte ouverte):
voir exemple 1 sur linuxsimply

2) l'exemple du fichier /usr/share/[...] pourrait suggérer (mais j'ai peut-être rien compris) que lorsque un paramètre comprend des séparateurs (espaces,...) il faut utiliser "$@"

Encore une fois, tout ça m'est étranger donc je raconte peut-être beaucoup de bêtises :-)

Répondre à