Bash 使用curl命令和读取文件的帮助

Bash 使用curl命令和读取文件的帮助,bash,shell,scripting,curl,github,Bash,Shell,Scripting,Curl,Github,我有一个curl命令,需要发布并将ssh密钥作为参数之一发送,我使用的命令如下所示: SSH_KEY=`cat ~/.ssh/id_rsa.pub`; curl -d "login=username&token=apikey&title=test&key=$SSH_KEY" http://github.com/api/v2/yaml/repos/key/username/somerepo/add 问题是ssh密钥中有一个+,并且字符串在该点终止,我如何避免这种情况 ur

我有一个curl命令,需要发布并将ssh密钥作为参数之一发送,我使用的命令如下所示:

SSH_KEY=`cat ~/.ssh/id_rsa.pub`;
curl -d "login=username&token=apikey&title=test&key=$SSH_KEY" http://github.com/api/v2/yaml/repos/key/username/somerepo/add
问题是ssh密钥中有一个
+
,并且字符串在该点终止,我如何避免这种情况

urlencode()
我觉得你在找什么?可以通过在字符串上使用urlencode()自动替换特殊字符

有关它的更多信息

关于:curl.haxx.se/docs/manpage.html的更多信息进行页面搜索:urlencode

希望有帮助:)

我觉得你在找什么?可以通过在字符串上使用urlencode()自动替换特殊字符

有关它的更多信息

关于:curl.haxx.se/docs/manpage.html的更多信息进行页面搜索:urlencode


希望有帮助:)

使用
-data-urlencode
而不是
-d
使用
-data-urlencode
而不是
-d
发送文件,在文件名前添加“@”

curl -d "login=username&token=apikey&title=test&key=@~/.ssh/id_rsa.pub" \
http://github.com/api/v2/yaml/repos/key/username/somerepo/add

希望这有帮助。

要发送文件,请在文件名前添加“@”

curl -d "login=username&token=apikey&title=test&key=@~/.ssh/id_rsa.pub" \
http://github.com/api/v2/yaml/repos/key/username/somerepo/add

希望这有帮助。

显然在7.18.0版中,curl添加了--data urlencode选项:

curl --data-urlencode "login=username&token=apikey&title=test&key=$SSH_KEY" http://github.com/api/v2/yaml/repos/key/username/somerepo/add

显然,在7.18.0版本中,curl添加了--data urlencode选项:

curl --data-urlencode "login=username&token=apikey&title=test&key=$SSH_KEY" http://github.com/api/v2/yaml/repos/key/username/somerepo/add