régression dans set_array_cmd()

This commit is contained in:
Jephté Clain 2017-03-02 03:14:49 +04:00
parent 31fb39d642
commit 3a24e8301e
2 changed files with 12 additions and 3 deletions

View File

@ -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#*=}" "$@"

View File

@ -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