base.core: ajout de la fonction echo_setv2() pendant de echo_seta2()

This commit is contained in:
Jephté Clain 2017-04-15 20:43:10 +04:00
parent bab9c501e5
commit 52bb0d584f
1 changed files with 18 additions and 2 deletions

View File

@ -191,6 +191,22 @@ function echo_setv() {
fi fi
echo "$__s_var=$(qvalr "$*")" 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() { function seta() {
# initialiser le tableau $1 avec les valeurs $2..@ # initialiser le tableau $1 avec les valeurs $2..@
# note: en principe, la syntaxe est 'seta array values...'. cependant, la # note: en principe, la syntaxe est 'seta array values...'. cependant, la
@ -219,8 +235,8 @@ function echo_seta() {
} }
function echo_seta2() { function echo_seta2() {
# Afficher la commande qui recrée le tableau $1 # Afficher la commande qui recrée le tableau $1
# Si des arguments sont spécifiés, cette fonction se comporte comme # Si d'autres arguments que le nom de tableau sont spécifiés, cette fonction se
# echo_seta() # comporte comme echo_seta()
local __s_var="$1"; shift local __s_var="$1"; shift
if [[ "$__s_var" == *=* ]]; then if [[ "$__s_var" == *=* ]]; then
set -- "${__s_var#*=}" "$@" set -- "${__s_var#*=}" "$@"