Merge "Fix ini functions to handle spaces in section names"
This commit is contained in:
12
functions
12
functions
@ -415,7 +415,7 @@ function inicomment() {
|
||||
local file=$1
|
||||
local section=$2
|
||||
local option=$3
|
||||
sed -i -e "/^\[$section\]/,/^\[.*\]/ s|^\($option[ \t]*=.*$\)|#\1|" $file
|
||||
sed -ie "/^\[ *$section *\]/,/^\[.*\]/ s|^\($option[ \t]*=.*$\)|#\1|" $file
|
||||
}
|
||||
|
||||
# Uncomment an option in an INI file
|
||||
@ -424,7 +424,7 @@ function iniuncomment() {
|
||||
local file=$1
|
||||
local section=$2
|
||||
local option=$3
|
||||
sed -i -e "/^\[$section\]/,/^\[.*\]/ s|[^ \t]*#[ \t]*\($option[ \t]*=.*$\)|\1|" $file
|
||||
sed -ie "/^\[ *$section *\]/,/^\[.*\]/ s|[^ \t]*#[ \t]*\($option[ \t]*=.*$\)|\1|" $file
|
||||
}
|
||||
|
||||
|
||||
@ -435,7 +435,7 @@ function iniget() {
|
||||
local section=$2
|
||||
local option=$3
|
||||
local line
|
||||
line=$(sed -ne "/^\[$section\]/,/^\[.*\]/ { /^$option[ \t]*=/ p; }" $file)
|
||||
line=$(sed -ne "/^\[ *$section *\]/,/^\[.*\]/ { /^$option[ \t]*=/ p; }" $file)
|
||||
echo ${line#*=}
|
||||
}
|
||||
|
||||
@ -447,18 +447,18 @@ function iniset() {
|
||||
local section=$2
|
||||
local option=$3
|
||||
local value=$4
|
||||
if ! grep -q "^\[$section\]" $file; then
|
||||
if ! grep -q "^\[ *$section *\]" $file; then
|
||||
# Add section at the end
|
||||
echo -e "\n[$section]" >>$file
|
||||
fi
|
||||
if [[ -z "$(iniget $file $section $option)" ]]; then
|
||||
# Add it
|
||||
sed -i -e "/^\[$section\]/ a\\
|
||||
sed -ie "/^\[ *$section *\]/ a\\
|
||||
$option = $value
|
||||
" $file
|
||||
else
|
||||
# Replace it
|
||||
sed -i -e "/^\[$section\]/,/^\[.*\]/ s|^\($option[ \t]*=[ \t]*\).*$|\1$value|" $file
|
||||
sed -ie "/^\[ *$section *\]/,/^\[.*\]/ s|^\($option[ \t]*=[ \t]*\).*$|\1$value|" $file
|
||||
fi
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user