ajout des fonctions seta(), _seta(), echo_seta()
This commit is contained in:
parent
a43359c760
commit
528d5795ec
|
@ -166,7 +166,7 @@ function qlines() {
|
||||||
sed "s/'/'\\\\''/g; s/.*/'&'/g"
|
sed "s/'/'\\\\''/g; s/.*/'&'/g"
|
||||||
}
|
}
|
||||||
function setv() {
|
function setv() {
|
||||||
# initialiser la variable $1 avec la valeur $2*
|
# initialiser la variable $1 avec la valeur $2..*
|
||||||
# note: en principe, la syntaxe est 'setv var values...'. cependant, la
|
# note: en principe, la syntaxe est 'setv var values...'. cependant, la
|
||||||
# syntaxe 'setv var=values...' est supportée aussi
|
# syntaxe 'setv var=values...' est supportée aussi
|
||||||
local __s_var="$1"; shift
|
local __s_var="$1"; shift
|
||||||
|
@ -191,6 +191,36 @@ function echo_setv() {
|
||||||
fi
|
fi
|
||||||
echo "$__s_var=$(qvalr "$*")"
|
echo "$__s_var=$(qvalr "$*")"
|
||||||
}
|
}
|
||||||
|
function seta() {
|
||||||
|
# initialiser le tableau $1 avec les valeurs $2..@
|
||||||
|
# note: en principe, la syntaxe est 'seta array values...'. cependant, la
|
||||||
|
# syntaxe 'seta array=values...' est supportée aussi
|
||||||
|
local __s_array="$1"; shift
|
||||||
|
if [[ "$__s_array" == *=* ]]; then
|
||||||
|
set -- "${__s_array#*=}" "$@"
|
||||||
|
__s_array="${__s_array%%=*}"
|
||||||
|
fi
|
||||||
|
eval "$__s_array=(\"\$@\")"
|
||||||
|
}
|
||||||
|
function _seta() {
|
||||||
|
# Comme la fonction seta() mais ne supporte que la syntaxe '_seta array values...'
|
||||||
|
# Cette fonction est légèrement plus rapide que seta()
|
||||||
|
local __s_array="$1"; shift
|
||||||
|
eval "$__s_array=(\"\$@\")"
|
||||||
|
}
|
||||||
|
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%%=*}"
|
||||||
|
elif [ $# -eq 0 ]; then
|
||||||
|
eval "set -- \"\${$__s_var[@]}\""
|
||||||
|
fi
|
||||||
|
echo "$__s_var=($(qvals "$@"))"
|
||||||
|
}
|
||||||
function setx() {
|
function setx() {
|
||||||
# syntaxe 1: setx var cmd
|
# syntaxe 1: setx var cmd
|
||||||
# initialiser la variable $1 avec le résultat de la commande "$2..@"
|
# initialiser la variable $1 avec le résultat de la commande "$2..@"
|
||||||
|
|
Loading…
Reference in New Issue