最近用shell开发web项目
很多地方需要用到对url的转义操作
urlencode() { local LANG=C local length="${#1}" i=0 while : do [ $length -gt $i ]&&{ local c="${1:$i:1}" case $c in [a-zA-Z0-9.~_-]) printf "$c" ;; *) printf '%%%02X' "'$c" ;; esac }||break let i++ done } urldecode(){ u="${1//+/ }" echo -e "${u//%/\\x}" }执行的时候
直接使用
urlencode "需要转义的参数"
urldecode "需要解码的字符串"
原生的shell支持 busybox以及bash都可以兼容
评论