Сеанс SSH не завершится, пока команда (сценарий) не завершит выполнение на удаленном сервере.
В зависимости от того, выводит ли сценарий данные в файл на сервере или выводит данные на стандартный вывод, вы можете сделать одно из двух.
Если он выводит данные в файл на сервере:
ssh user @ host script.sh
scp user @ host: remote_output local_output
process_output local_output
Это в основном использует scp
для копирования данных с сервера на локальный компьютер.
Если он выводит данные в стандартный вывод:
ssh user @ host script.sh> local_output
process_output local_output
Это перенаправляет стандартный вывод скрипта в локальный файл .
Чтобы сначала запустить программу, а затем ждать:
ssh user@host script.sh &
# do other stuff
wait
scp user@host:remote_output local_output
process_output local_output
или
ssh user@host script.sh >local_output &
# do other stuff
wait
process_output local_output
wait
приостанавливает скрипт до тех пор, пока не будет выполнена команда ssh
(которая выполняется как фоновый процесс) выходы.