Bugfix: Old versions of bash do not have =~
Versions of bash before 3.0 do not have =~ syntax to match on a regex. Changed to using a simple grep -c test instead. Fixes issues with osx and Solaris 9 and before.
This commit is contained in:
7
todo.sh
7
todo.sh
@@ -259,13 +259,10 @@ cleaninput()
|
|||||||
# Replace newlines with spaces Always
|
# Replace newlines with spaces Always
|
||||||
input=`echo $input | tr -d '\r|\n'`
|
input=`echo $input | tr -d '\r|\n'`
|
||||||
|
|
||||||
# Storing regexp in variable fixes quoting difference between
|
action_regexp="^\(append\|app\|prepend\|prep\|replace\)$"
|
||||||
# bash v3.1.x and v3.2.x see:
|
|
||||||
# http://stackoverflow.com/questions/218156/bash-regex-with-quotes
|
|
||||||
action_regexp='^(append|app|prepend|prep|replace)$'
|
|
||||||
|
|
||||||
# Check which action we are being used in as this affects what cleaning we do
|
# Check which action we are being used in as this affects what cleaning we do
|
||||||
if [[ $action =~ $action_regexp ]]; then
|
if [ `echo $action | grep -c $action_regexp` -eq 1 ]; then
|
||||||
# These actions use sed and & as the matched string so escape it
|
# These actions use sed and & as the matched string so escape it
|
||||||
input=`echo $input | sed 's/\&/\\\&/g'`
|
input=`echo $input | sed 's/\&/\\\&/g'`
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user