implémentation initiale evalx()
This commit is contained in:
parent
4a2581cd2e
commit
b0dd82e993
|
@ -155,6 +155,47 @@ function _seta() {
|
||||||
local __s_array="$1"; shift
|
local __s_array="$1"; shift
|
||||||
eval "$__s_array=($("$@" | qlines))"
|
eval "$__s_array=($("$@" | qlines))"
|
||||||
}
|
}
|
||||||
|
function evalx() {
|
||||||
|
# évaluer ...
|
||||||
|
local val arg r=0
|
||||||
|
local -a cmd
|
||||||
|
|
||||||
|
local first=1
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
cmd=()
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
arg="$1"; shift
|
||||||
|
[ "$arg" == // ] && break
|
||||||
|
if [ "${arg%//}" != "$arg" ]; then
|
||||||
|
local tmp="${arg%//}"
|
||||||
|
if [ -z "${tmp//\\/}" ]; then
|
||||||
|
arg="${arg#\\}"
|
||||||
|
cmd=("${cmd[@]}" "$arg")
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
cmd=("${cmd[@]}" "$arg")
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$first" ]; then
|
||||||
|
val="$("${cmd[@]}")" || r=$?
|
||||||
|
else
|
||||||
|
val="$("${cmd[@]}" "$val")" || r=$?
|
||||||
|
fi
|
||||||
|
first=
|
||||||
|
done
|
||||||
|
[ -n "$val" ] && echo "$val"
|
||||||
|
return $r
|
||||||
|
}
|
||||||
|
function evalp() {
|
||||||
|
# évaluer ...
|
||||||
|
:
|
||||||
|
}
|
||||||
|
function testx() {
|
||||||
|
# tester ...
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
function e2of() {
|
function e2of() {
|
||||||
# lancer la commande $@ en redirigeant la sortie d'erreur sur la sortie standard
|
# lancer la commande $@ en redirigeant la sortie d'erreur sur la sortie standard
|
||||||
"$@" 2>&1
|
"$@" 2>&1
|
||||||
|
|
Loading…
Reference in New Issue