У меня есть требование создать скрипт автоматизации, который будет выполнять следующие действия в указанном порядке:
- Скопировать некоторый скрипт и XML из источника в место назначения.
- Запустить скриптв месте назначения
- Скопируйте результаты (которые представляют собой файлы) из места назначения в источник.
Я использую «ожидать» для копирования файлов из источника в место назначения.Затем я пытаюсь установить соединение SSH к месту назначения и выполнить сценарий в месте назначения.После того, как мы сгенерируем результат, я снова скопирую файлы, используя «ожидание», но на этот раз от места назначения к источнику.
Мне было интересно, есть ли лучший способ сделать то же самое.
Код для копирования файлов с использованием «ожидайте», так как мне нужно передать пароль для scp:
#!/usr/bin/expect -f
set from [lindex $argv 0]
set to [lindex $argv 1]
set pass [lindex $argv 2]
puts "$from, $to and $pass ."
# connect via scp
spawn sudo scp -v -r $from $to
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send $pass\n
}
}
interact