I'm moving a bash script to dash for compatibility reasons. Is there a POSIX/Dash alternative to the following comparison?
COMPARE_TO="^(lp:~?|https?://|svn://|svn\+ssh://|bzr://|bzr\+ssh://|git://|ssh://)"
if [[ $COMPARE =~ $COMPARE_TO ]]; then
echo "WE ARE COMPARED!"
fi
You can use a case. It doesn't use regex, but it's not that much longer with globs
case $compare in
lp:*|http://*|https://*|svn://*|svn+ssh://*|bzr://*|bzr+ssh://*|git:/*|ssh://*)
echo "We are compared"
;;
esac
On a side note, you should avoid using all uppercase variable names as you risk overwriting special shell variables or environment variables.