【发布时间】:2016-10-27 04:22:07
【问题描述】:
我需要使用将在 BusyBox Ash、Dash、Bash 和 ZSH 中运行的 shell 函数对字符串进行 URL 编码。
它将在不同的 Docker 容器中运行,因此最好安装尽可能少的依赖项。
注意事项:
问题“URL encoding a string in bash script”要求提供特定于 Bash 的脚本,唯一提供的答案取决于容器上安装的 PHP。
问题“How to urlencode data for curl command?”是特定于 curl 的,但当然可以接受非特定的答案。但是,这 25 个答案似乎都不适用。那里的答案之一仅适用于将数据发送到 curl,而有些特定于 bash 或 ksh,有些则需要 Perl 、PHP、Python、Lua、NodeJS、Ruby、 gridsite-clients、uni2ascii、jq、awk 或 sed。其中之一不需要额外的依赖,但不保留
a、1和~等字符。
我期望拥有的:
$> urlencode '/'
%2f
$> urlencode 'ç'
%c3%a7
$> urlencode '*'
%2a
$> urlencode abc-123~6
abc-123~6
$> urlencode 'a test ?*ç '
a%20test%20%3f%2a%c3%a7%20
【问题讨论】:
-
好像是重复的看这里stackoverflow.com/questions/296536/…
标签: linux shell posix urlencode