Ожидайте, что скрипт передаст файл в удаленную систему

#expect

#ожидать

Вопрос:

Я новичок в написании сценариев и просто пытаюсь использовать scp в скрипте для перемещения файла в удаленную систему. Я продолжаю сталкиваться с ошибками в своем коде / или ничего не происходит / файл не копируется.

Я пробовал несколько сценариев, но чувствую, что просто не совсем понимаю язык. В коде, который я включил, я пытаюсь передать test.txt файл в удаленную систему. Я также пытался включить отправку «scp test.txt ${user}@XXXXXXXX.com Также строка «.

 #!/usr/bin/expect

set user "XXXXXX"
set password "XXXXXX"

log_file XXXX.txt

spawn /usr/bin/scp -f test.txt ${user}@XXXXXXXXXXX.com

expect "*assword"
send "${password}n"
interact 
  

Я считаю, что файл должен быть скопирован на удаленный сервер, но когда я пытаюсь отобразить его с помощью ls -l, я ничего не получаю.

Комментарии:

1. Почему вы вообще используете ожидаемые / интерактивные пароли? Разве вы не можете просто настроить пару открытого / закрытого ключей?

2. Мельпомена, это часть вводного курса по написанию сценариев bash. Инструктор просто показывает некоторые из ожидаемых основ. Я согласен, пара открытого / закрытого ключей была бы более безопасной.

3. Почему вводный курс bash script должен использовать expect? Я кое-что знаю о сценариях bash, но я никогда не использовал expect, никогда. Я сомневаюсь в дизайне этого курса.