Использование cURL для отправки JSON в сценарии BASH

Хорошо, вот что я пытаюсь сделать. Я пытаюсь написать сценарий быстрой сборки на bash, который будет проверять частный репозиторий из GitHub на удаленном сервере. Чтобы сделать это, насколько это возможно, «без помощи рук», я хочу сгенерировать локальный ключ RSA, установленный на удаленном сервере, и добавить открытый ключ в качестве ключа развертывания для этого конкретного репозитория. Я знаю, как это сделать с помощью API GitHub, но у меня проблемы со сборкой полезной нагрузки JSON с помощью Bash.

Пока что у меня есть этот конкретный процесс, описанный ниже:

#!/bin/bash

ssh-keygen -t rsa -N '' -f ~/.ssh/keyname -q
public_key=`cat ~/.ssh/keyname.pub`

curl -u 'username:password' -d '{"title":"Test Deploy Key", "key":"'$public_key'"}' -i https://api.github.com/repos/username/repository/keys

Это просто неправильное построение полезной нагрузки. Я не эксперт, когда дело касается манипуляций со строками в Bash, так что мне могла бы пригодиться некоторая помощь. Спасибо!

10
задан Wilhelm Murdoch 17 January 2012 в 23:35
поделиться