Как использовать переменные окружения в Heroku?
Я застрял на этом уже целую вечность и не могу найти решение. Я установил переменные окружения в файле ~/.zshrc и правильно экспортировал их.
Теперь, когда я пробую эти команды для настройки heroku, они работают для адреса электронной почты, но когда я ввожу их для пароля, они удаляют '!' в конце моего пароля.
вход: heroku config:set EMAIL_HOST_USER="myemail@gmail.com" heroku config:set EMAIL_HOST_PASSWORD="mypassword!"
вывод: Setting EMAIL_HOST_PASSWORD and restarting ⬢ <app-name>... done, v45 EMAIL_HOST_PASSWORD: mypassword
Может ли кто-нибудь объяснить, почему это может происходить?
Я также пробовал,
heroku connfig:add
...., но восклицательный знак также удален..
Я обнаружил, что вы можете редактировать переменные конфигурации Heroku в настройках вашего проекта. https://dashboard.heroku.com/
Я все еще хотел бы знать, почему '!' не сохраняется, если кто-нибудь наткнется на это сообщение и знает ответ :)
Многие оболочки, включая zsh и bash, интерпретируют восклицательные знаки как символы расширения истории.
В обоих этих оболочках вы должны быть в состоянии заключить в одинарную кавычку (') значение, чтобы заставить его работать:
heroku config:set EMAIL_HOST_PASSWORD='mypassword!'
Двойные кавычки (") не работают.
Как отмечено в том сообщении списка рассылки, если вы хотите полностью отключить эту функцию в zsh, вы можете сделать это с помощью
unsetopt banghistory
А в bash вы можете сделать
set +H
или
set +histexpand