This commit is contained in:
Jephte CLAIN 2014-09-13 11:56:18 +04:00
parent 5da1d512be
commit e41beb518b
1 changed files with 8 additions and 7 deletions

View File

@ -61,10 +61,11 @@ function recho_() {
} }
function _qval() { function _qval() {
# Dans la chaine $*, remplacer \ par \\, " par \", $ par \$, ` par \` # Dans la chaine $*, remplacer \ par \\, " par \", $ par \$, ` par \`
# Cela permet de quoter une chaine à mettre entre guillements. note: la # Cela permet de quoter une chaine à mettre entre guillements.
# protection de ! n'est pas effectuée, parce que le comportement du shell est # Note: la protection de ! n'est pas effectuée, parce que le comportement du
# incohérent entre le shell interactif et les scripts. Pour une version plus # shell est incohérent entre le shell interactif et les scripts. Pour une
# robuste, il est nécessaire d'utiliser un programme externe tel que sed ou awk # version plus robuste, il est nécessaire d'utiliser un programme externe tel
# que sed ou awk
local s="$*" local s="$*"
s="${s//\\/\\\\}" s="${s//\\/\\\\}"
s="${s//\"/\\\"}" s="${s//\"/\\\"}"
@ -73,13 +74,13 @@ function _qval() {
recho_ "$s" recho_ "$s"
} }
function qval() { function qval() {
# Afficher la chaine $* quotée le cas échéant avec " # Afficher la chaine $* quotée avec "
echo -n \" echo -n \"
_qval "$@" _qval "$@"
echo \" echo \"
} }
function qvalr() { function qvalr() {
# Afficher la chaine $* quotée le cas échéant avec ", sauf si elle est vide # Afficher la chaine $* quotée avec ", sauf si elle est vide
if [ -n "$*" ]; then if [ -n "$*" ]; then
echo -n \" echo -n \"
_qval "$@" _qval "$@"
@ -291,7 +292,7 @@ function test2p() {
function testrp() { function testrp() {
# Faire une test binaire avec la commande [[ entre une valeur spécifiée et une # Faire une test binaire avec la commande [[ entre une valeur spécifiée et une
# valeur calculée avec evalp. Utiliser la syntaxe 'testrp value op cmds...' e.g. # valeur calculée avec evalp. Utiliser la syntaxe 'testrp value op cmds...' e.g.
# test2x value == cmd1 // cmd2 # testrp value == cmd1 // cmd2
local __t_val1="$1"; shift local __t_val1="$1"; shift
local __t_op="$1"; shift local __t_op="$1"; shift
local __t_val2="$(evalp "$@")" local __t_val2="$(evalp "$@")"