Я пытаюсь автоматизировать процесс, содержащий серию команд git.
Я хочу, чтобы скрипт оболочки работал с некоторыми интерактивными командами, такими как ввод имени пользователя и пароля в git clone url -v
.Я проверил, что если я просто запущу git clone url -v
, он покажет:
- клонирование в someRepo
- с запросом имени пользователя
- с запросом пароля
в таком порядке.Однако после некоторых исследований я попробовал следующие способы:
echo -e 'username\n' | git clone url -v
echo -e 'username\npassword\n' | git clone url -v
git clone url -v <<< username\npassword\n
(sleep 5;echo -e 'username\n' | git clone url -v)
, потому что я изначально думал, что первое сообщение cloning into repo
займет некоторое время.Ни один из них не работает, но все они показывают то же сообщение, что Username for url:
Потратил много времени на это, я знаю, что
git clone https://$username:$password@enterpriseGithub.com/org/repo
работает, но этоиспользовать БЕЗОПАСНО, поскольку в журнале публикуются имя пользователя и пароль.