diff --git a/lib/ulib/base.core b/lib/ulib/base.core index 1e08377..8e42757 100644 --- a/lib/ulib/base.core +++ b/lib/ulib/base.core @@ -191,6 +191,22 @@ function echo_setv() { fi echo "$__s_var=$(qvalr "$*")" } +function echo_setv2() { +# Afficher la commande qui recrée la variable $1 +# Cette fonction est équivalente à echo_setv "$1=${!1}" +# Si d'autres arguments que le nom de la variable sont spécifiés, cette fonction +# se comporte comme echo_setv() + local __s_var="$1"; shift + if [[ "$__s_var" == *=* ]]; then + set -- "${__s_var#*=}" "$@" + __s_var="${__s_var%%=*}" + fi + if [ $# -eq 0 ]; then + echo_setv "$__s_var" "${!__s_var}" + else + echo_setv "$__s_var" "$@" + fi +} function seta() { # initialiser le tableau $1 avec les valeurs $2..@ # note: en principe, la syntaxe est 'seta array values...'. cependant, la @@ -219,8 +235,8 @@ function echo_seta() { } function echo_seta2() { # Afficher la commande qui recrée le tableau $1 -# Si des arguments sont spécifiés, cette fonction se comporte comme -# echo_seta() +# Si d'autres arguments que le nom de tableau sont spécifiés, cette fonction se +# comporte comme echo_seta() local __s_var="$1"; shift if [[ "$__s_var" == *=* ]]; then set -- "${__s_var#*=}" "$@"