nulib/bash/tests/test-args.sh

48 lines
1.2 KiB
Bash
Raw Normal View History

2023-10-13 23:51:05 +04:00
#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname -- "$0")/../src/nucore.sh" || exit 1
count=
fixed=
mopt=
dmopt=
oopt=
doopt=
unset a1
a2=()
a3=
a4=x
args=(
"tester la gestion des arguments"
-o,--eopt count "incrémenter count"
-f,--fixed fixed=42 "spécifier fixed"
-a:,--mopt mopt "spécifier mopt"
-A:,--dmopt dmopt=default "spécifier dmopt"
-b::,--oopt oopt "spécifier oopt"
-B::,--doopt doopt=default "spécifier doopt"
-n,--autoinc . "incrémenter autoinc"
-v:,--autoval . "spécifier autoval"
-x: a1 "autoadd a1 qui n'est pas défini"
-y: a2 "autoadd a2 qui est défini à ()"
-z: a3 "autoadd a3 qui est défini à vide"
-t: a4 "autoadd a4 qui est défini à une valeur non vide"
-s '$echo "sans_arg option=$option_, name=$name_, value=$value_"'
-S:: '$echo "avec_arg option=$option_, name=$name_, value=$value_"'
)
parse_args "$@"; set -- "${args[@]}"
echo "\
count=$count
fixed=$fixed
mopt=$mopt
dmopt=$dmopt
oopt=$oopt
doopt=$doopt
autoinc=$autoinc
autoval=$autoval
a1=(${a1[*]}) #${#a1[*]}
a2=(${a2[*]}) #${#a2[*]}
a3=(${a3[*]}) #${#a3[*]}
a4=(${a4[*]}) #${#a4[*]}
2023-10-13 23:54:18 +04:00
args=($*)"