diff --git a/lib/ulib/base.core b/lib/ulib/base.core index a992e8e..1e08377 100644 --- a/lib/ulib/base.core +++ b/lib/ulib/base.core @@ -210,8 +210,17 @@ function _seta() { } function echo_seta() { # Afficher la commande qui serait lancée par seta "$@" -# Le cas particulier 'seta array' affiche la commande pour recréer le -# tableau array + local __s_var="$1"; shift + if [[ "$__s_var" == *=* ]]; then + set -- "${__s_var#*=}" "$@" + __s_var="${__s_var%%=*}" + fi + echo "$__s_var=($(qvals "$@"))" +} +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() local __s_var="$1"; shift if [[ "$__s_var" == *=* ]]; then set -- "${__s_var#*=}" "$@" diff --git a/lib/ulib/base.deprecated b/lib/ulib/base.deprecated index 6844b7b..ff1d0e0 100644 --- a/lib/ulib/base.deprecated +++ b/lib/ulib/base.deprecated @@ -10,7 +10,7 @@ function set_array_cmd() { # soit du tableau $2, soit de $3..$n si $2=="@" # S'il n'y a que l'argument $1, alors afficher la commande permettant de # recréer le tableau $1 - if [ $# -eq 1 ]; then echo_seta "$1" + if [ $# -eq 1 ]; then echo_seta2 "$1" elif [ "$2" == @ ]; then echo_seta "$1" "${@:3}" else eval "echo_seta \"\$1\" \"\${$2[@]}\"" fi