使用 bash 将文件上传到 Gist [英] Upload a file to a Gist with bash

查看:11
本文介绍了使用 bash 将文件上传到 Gist的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通常会在 Github 的 Gist 上粘贴错误报告和日志,以交换编程相关的调试信息.Gist 没有上传文件的按钮.所以有时候把你的大错误报告复制粘贴到gist textarea中输入不是那么方便.

I usually paste error reports and logs on Gist at Github, to exchange programming relevant debug information. Gist doesn't have a button to upload a file. So sometimes it is not so convenient to copy and paste your large errorreports into gists textarea for input.

有没有办法从命令行将文件上传到 Gist 帐户中的新 Gist 中?

Is there a way to upload a file from the commandline into a new Gist in your Gist account?

还为要上传的文件创建一个临时 git 存储库会有所帮助,然后我会在脚本中自动执行此操作.

also creating a temporary git repository for the file to upload would help, I would automate this in a script then.

最后我想用一个bash脚本自动在github上发布我的编程项目的调试信息

In the end I would like to automate posting debug information of my programming project on github with one bash script

推荐答案

这里一个适用于我在 Bash/Dash 上创建匿名要点的解决方案(很可能不是防弹的):

Here is a solution that works for me on Bash/Dash to create anonymous gist (very probably not bullet-proof):

# 0. Your file name
FNAME=some.file

# 1. Somehow sanitize the file content
#    Remove 
 (from Windows end-of-lines),
#    Replace tabs by 	
#    Replace " by "
#    Replace EOL by 

CONTENT=$(sed -e 's/
//' -e's/	/\t/g' -e 's/"/\"/g' "${FNAME}" | awk '{ printf($0 "\n") }')

# 2. Build the JSON request
read -r -d '' DESC <<EOF
{
  "description": "some description",
  "public": true,
  "files": {
    "${FNAME}": {
      "content": "${CONTENT}"
    }
  }
}
EOF

# 3. Use curl to send a POST request
curl -X POST -d "${DESC}" "https://api.github.com/gists"

如果您需要创建与您的 github 帐户相关联的 gist,(用于基本身份验证)将最后一行替换为:

If you need to create a gist associated with your github account, (for basic authentication) replace the last line by:

curl -u "${GITHUB_USERNAME}" -X POST -d "${DESC}" "https://api.github.com/gists"

更高级的认证方案请参见https://developer.github.com/v3/#身份验证

For more advanced authentification schemes, please see https://developer.github.com/v3/#authentication

这篇关于使用 bash 将文件上传到 Gist的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆