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"
|
||||
}
|
||||
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
|
||||
# syntaxe 'setv var=values...' est supportée aussi
|
||||
local __s_var="$1"; shift
|
||||
|
@ -191,6 +191,36 @@ function echo_setv() {
|
|||
fi
|
||||
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() {
|
||||
# syntaxe 1: setx var cmd
|
||||
# initialiser la variable $1 avec le résultat de la commande "$2..@"
|
||||
|
|
Loading…
Reference in New Issue