Url encode
Jump to navigation
Jump to search
URL encoding function
- Simple way to encode URLs for bash scripts.. Brainless but seems to work ok for most use cases..
- Yes, this will encode the '/' as the '%2F' character, but curl does not spit errors and I have not seen a failure doing things this way
urlencode() {
local string="$1"
local encoded=""
local pos c o
for (( pos=0 ; pos<${#string} ; pos++ )); do
c=${string:$pos:1}
case "$c" in
[a-zA-Z0-9.~_-]) o="$c" ;;
*) printf -v o '%%%02X' "'$c"
esac
encoded+="$o"
done
echo "$encoded"
}