У меня есть следующий скрипт, который я пытаюсь протестировать в bash, используя curl, чтобы сделать пару вещей: один — создать новый репо, второй — который еще не реализован — получить git_url из json. возвращено, что я не уверен, позволит ли моя функция parse_json
сделать это, а затем, наконец, отправить образец сообщения фиксации в это репо.
сценарий выглядит следующим образом:
#!/usr/bin/env bash
set -eux
# Json Function: parse_json 'json string' key
function parse_json()
{
echo $1 | sed -e 's/[{}]/''/g' | awk -F=':' -v RS=',' "\$1~/\"$2\"/ {print}" | sed -e "s/\"$2\"://" | tr -d "\n\t" | sed -e 's/\\"/"/g' | sed -e 's/\\\\/\\/g' | sed -e 's/^[ \t]*//g' | sed -e 's/^"//' -e 's/"$//'
}
git_create_repo() {
read -e -p "Please enter your API Key: " apiKey
read -e -p "Repo Name: " repoName
read -e -p "Repo Description: " repoDescription
# Use the API to create a a repository
response=$(curl -i -H 'Authorization: token $apiKey' \
-d '{ \
"name": "$repoName", \
"description": "$repoDescription", \
"private": false, \
"license_template": "mit" \
}' \
https://api.github.com/AdamKyle/repos)
echo $response
}
git_create_repo
Когда я прохожу все шаги, я получаю:
{
"message": "Bad credentials",
"documentation_url": "https://developer.github.com/v3"
}
Мне интересно, это из-за того, как я вставляю свой ключ API: curl -i -H 'Authorization: token $apiKey ...'
Я пробовал "$apiKey"
, но даже это не работает.
Идеи?