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() {
# Dans la chaine $*, remplacer \ par \\, " par \", $ par \$, ` par \`
# Cela permet de quoter une chaine à mettre entre guillements. note: la
# protection de ! n'est pas effectuée, parce que le comportement du shell est
# incohérent entre le shell interactif et les scripts. Pour une version plus
# robuste, il est nécessaire d'utiliser un programme externe tel que sed ou awk
# Cela permet de quoter une chaine à mettre entre guillements.
# Note: la protection de ! n'est pas effectuée, parce que le comportement du
# shell est incohérent entre le shell interactif et les scripts. Pour une
# version plus robuste, il est nécessaire d'utiliser un programme externe tel
# que sed ou awk
local s="$*"
s="${s//\\/\\\\}"
s="${s//\"/\\\"}"
@ -73,13 +74,13 @@ function _qval() {
recho_ "$s"
}
function qval() {
# Afficher la chaine $* quotée le cas échéant avec "
# Afficher la chaine $* quotée avec "
echo -n \"
_qval "$@"
echo \"
}
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
echo -n \"
_qval "$@"
@ -291,7 +292,7 @@ function test2p() {
function testrp() {
# 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.
# test2x value == cmd1 // cmd2
# testrp value == cmd1 // cmd2
local __t_val1="$1"; shift
local __t_op="$1"; shift
local __t_val2="$(evalp "$@")"