function URLEncode { local dataLength="${#1}"; local index; for ((index = 0;index < dataLength;index++)); do local char="${1:index:1}"; case $char in [a-zA-Z0-9.~_-]) printf "$char"; ;; *) printf "%%%02X" "'$char"; ;; esac; done; }
Эта функция встроенного оболочки BASH выполняет URL-кодирование переданной строки, заменяя специальные символы на соответствующие им коды в формате «%XX». Это полезно для обработки URL-ов и данных, которые будут передаваться через сеть. Альтернативой может быть использование утилиты urlencode
или аналогичных инструментов для командной строки. Функция принимает один аргумент — строку для кодирования.