W получить необработанный файл из github из частного репо

Я пытаюсь получить необработанный файл из github частный проект с помощью wget. Обычно, если мой проект публичный, это очень просто

For Public Repo This is my repo url (you don't have to click on it to answer this question)

https://github.com/samirtendulkar/profile_rest_api/blob/master/deploy/server_setup.sh

Я нажимаю сырой enter image description here

После того, как я вылизываю raw, мой URL-адрес выглядит так

https://raw.githubusercontent.com/samirtendulkar/profile_rest_api/master/deploy/server_setup.sh (обратите внимание, что к URL-адресу добавлено только слово «сырой»)

что здорово, я тогда делаю

ubuntu@ip-172-31-39-47:~$ wget https://raw.githubusercontent.com/samirtendulkar/profile_rest_api/master/deploy/server_setup.sh

когда я делаю ls, он показывает, что файл был загружен

ubuntu@ip-172-31-39-47:~$ ls
'server_setup.sh'

For a Private repo The raw file comes with a token

https://github.com/samirtendulkar/my_project/blob/master/deploy/server_setup.sh

Пока все хорошо. Теперь, когда я нажимаю Raw (см. Изображение выше), мой URL-адрес изменяется и в нем есть токен с префиксом «сырой»

https://raw.githubusercontent.com/samirtendulkar/my_project/master/deploy/server_setup.sh?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D

В URL-адресе есть эти дополнительные параметры ?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D

Мой wget не работает. Как мне исправить эту проблему. Кстати, когда я говорю, что это не работает, я имею в виду вместо того, чтобы показывать ls

ubuntu@ip-172-31-39-47:~$ ls
    'server_setup.sh'

Это показано ниже

enter image description here что не заставляет меня запускать другие команды, такие как

ubuntu@ip-172-31-39-47:~$ chmod  +x server_setup.sh

а также

ubuntu@ip-172-31-39-47:~$ sudo ./server_setup.sh

который мне нужен для переноса проекта на AWS enter image description here

Не могли бы вы уточнить, как ваш wget не работает? Если вы предоставите сообщение об ошибке или фактический результат, это должно помочь решить вашу проблему. По моему опыту, получение URL-адреса с такими параметрами с помощью wget может работать, но вам могут понадобиться одинарные кавычки вокруг URL-адреса.

joanis 31.10.2018 14:04

@joanis обновил вопрос с ошибками

Samir Tendulkar 31.10.2018 14:22

Никогда не вставляйте изображения текста в свой вопрос. Вставьте текст.

Jim Stewart 31.10.2018 14:33

Если вы просто загружаете один файл, я бы использовал параметр wget -O: wget -O server_setup.sh URL.

joanis 31.10.2018 14:35

Замените команду wget на «wget url -o server-setup.sh». Он загрузит файл как server-setup.sh

Manish R 31.10.2018 14:36
5
5
6 828
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать опцию wget -O, когда загружаете только один файл за раз:

wget -O server_setup.sh https://raw.githubusercontent.com/samirtendulkar/my_project/master/deploy/server_setup.sh?token=AkSv7SycSHacUNlSEZamo6hpMAI6ZhsLks5b4uFuwA%3D%3D

Обратной стороной является то, что вы должны знать имя выходного файла, но я думаю, что это нормально, если я хорошо понимаю ваш вопрос.

Токен взят из раздела токенов личного доступа, подробности которого можно найти в Github.

С помощью токенов личного доступа вы можете создать один и выбрать первый вариант «репо», чтобы получить контроль доступа к частным репозиториям для токена.

Следующая строка решила мою проблему, из-за которой не удалось загрузить файл.

Надеюсь, это поможет

wget --header 'Authorization: token PERSONAL_ACCESS_TOKEN_HERE' https://raw.githubusercontent.com/repoOwner/repoName/master/folder/filename

Другие вопросы по теме