#bash #appveyor
#bash #appveyor
Вопрос:
Я пытаюсь пройти аутентификацию с помощью GitHub, используя пароль, определенный в переменной среды в AppVeyor.
Команда, которую я пытаюсь выполнить, является:
git remote add origin https://username:$EnvPassword@github.com/username/Empty.git
В приведенном выше сценарии я хочу, $EnvPassword
чтобы пароль был заменен паролем, определенным в моей переменной среды.
Я думал, что префикса с $
будет достаточно, но это вообще не работает. Кажется, я не могу найти что-либо об этом где-либо еще в Интернете.
Комментарии:
1. Если вы поместите
echo
перед командой, что это скажет? (Ну, не показывайте нам пароль.)2. Перво-наперво: работает ли это, если вы явно указываете свой пароль в URL, а не используете расширение параметра?
3. Для сложных команд используйте более строгий синтаксис
${EnvPassword}
вместо$EnvPassword
4. это работает, если вы задаете переменную в bash. я подозреваю, что все, что вы установили в appveyor, не является переменной среды bash или к нему нужно обращаться с определенным префиксом или чем-то еще, но я не знаю appveyor.
5. пожалуйста, предоставьте более подробную информацию о том, где и как вы настраиваете переменную среды и скрипт.
Ответ №1:
Попробуйте заменить $EnvPassword
более надежной версией ${EnvPassword}
. Этот тип замены обычно лучше подходит для сложных команд.
git remote add origin https://username:${EnvPassword}@github.com/username/Empty.git