Я сошел с ума, пытаясь сделать это.Bash ожидают две команды в том же процессе
Мне нужно использовать, чтобы установить пару паролей. Проблема в том, что мне нужно запустить две команды в одном процессоре.
Здесь код
yum install -y expect
secret="price_aws_git_secret.txt"
eval $(ssh-agent)
pass=$(cat $secret)
expect << EOF
spawn ssh-agent ssh-add price_aws_github
expect "Enter passphrase"
send "$pass\r"
spawn git clone [email protected]/repo.git
expect "Are you sure you want to continue connecting"
send "yes\r"
expect eof
EOF
Первой команда добавить в SSH-агент ключа SSH, а вторая команда клон мерзавца должна быть в том же самом процессе, чтобы получить этот агент.
Смотря документацию и примеры Я не могу видеть, как ожидание может работать с двумя командами в одном процессе.
Любое предложение?
Спасибо!
Как обычно, вы можете избежать «ожидать», установив вместо этого аутентификацию с открытым ключом. – chepner
Это то, что я сделал, но даже добавив публичный ключ в github, вам нужно предоставить пароль, когда вы хотите добавить закрытый ключ в ssh-add – paul
. Вы идете на большие длины. Почему бы вам не создать ключ без кодовой фразы? –