mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[fix] Escape double quote before eval in getopts
Work in progress... Need to be tested.
This commit is contained in:
parent
76e1c2e395
commit
573fab4268
1 changed files with 6 additions and 0 deletions
|
@ -150,6 +150,9 @@ ynh_handle_getopts_args () {
|
||||||
# If there's already another value for this option, add a ; before adding the new value
|
# If there's already another value for this option, add a ; before adding the new value
|
||||||
eval ${option_var}+="\;"
|
eval ${option_var}+="\;"
|
||||||
fi
|
fi
|
||||||
|
# Escape double quote to prevent any interpretation during the eval
|
||||||
|
all_args[$i]="${all_args[$i]//\"/\\\"}"
|
||||||
|
|
||||||
eval ${option_var}+=\"${all_args[$i]}\"
|
eval ${option_var}+=\"${all_args[$i]}\"
|
||||||
shift_value=$(( shift_value + 1 ))
|
shift_value=$(( shift_value + 1 ))
|
||||||
fi
|
fi
|
||||||
|
@ -188,6 +191,9 @@ ynh_handle_getopts_args () {
|
||||||
# The variable name will be stored in 'option_var'
|
# The variable name will be stored in 'option_var'
|
||||||
local option_var="${args_array[$option_flag]%=}"
|
local option_var="${args_array[$option_flag]%=}"
|
||||||
|
|
||||||
|
# Escape double quote to prevent any interpretation during the eval
|
||||||
|
arguments[$i]="${arguments[$i]//\"/\\\"}"
|
||||||
|
|
||||||
# Store each value given as argument in the corresponding variable
|
# Store each value given as argument in the corresponding variable
|
||||||
# The values will be stored in the same order than $args_array
|
# The values will be stored in the same order than $args_array
|
||||||
eval ${option_var}+=\"${arguments[$i]}\"
|
eval ${option_var}+=\"${arguments[$i]}\"
|
||||||
|
|
Loading…
Add table
Reference in a new issue