Ожидайте лишних символов после закрывающей кавычки

Я получаю сообщение об ошибке

extra characters after close-quote
    while executing
"spawn ssh-add <(echo -e "-----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
 DEK-Info: AES-128-CBC,2AB77A7C6E344A120BA00670A3CAB833

 AM57TuHYLo..."

При использовании ожидаем и spawn добавить ключ ssh с парольной фразой. Это мой сценарий:

eval $(ssh-agent -s)
expect -c "spawn ssh-add <(echo -e \"$SSH_PRIVATE_KEY\\r\"); expect \"Enter passphrase\"; send \"$SSH_PASSPHRASE\\r\"; expect eof;"

Я также пробовал много комбинаций при отображении закрытого ключа ssh:

echo "$SSH_PRIVATE_KEY"
echo \"$SSH_PRIVATE_KEY\"
echo -e \"$SSH_PRIVATE_KEY\"
echo '$SSH_PRIVATE_KEY'
echo '$SSH_PRIVATE_KEY'
0
задан 1 December 2017 в 14:14

1 ответ

У вас есть синтаксис bash в теле ожидаемого (я не понимаю, почему вы думаете, что вам нужна замена процесса). Когда речь идет о цитировании ада в bash, вот этот документ очень удобен

expect <<END_EXPECT
    spawn ssh-add "$SSH_PRIVATE_KEY"
    expect "Enter passphrase"
    send "$SSH_PASSPHRASE\r"
    expect eof
END_EXPECT
0
ответ дан 1 December 2017 в 14:14

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

Похожие вопросы: