Выполнить команду на ec2 после входа в систему через ssh, используя скрипт bash
Этот код открывает три окна в моей системе и входит в три разных экземпляра ec2.
(xterm -geometry 70x70-0-0 -e ssh -i key1 ec2-user@52.x.x.x;) &
(xterm -geometry 70x70+485-200 -e ssh -i key1 ec2-user@52.x.x.x;) &
(xterm -geometry 70x70+0-0 -e ssh -i key1 ec2-user@52.x.x.x;)
Однако я хочу войти в эти три экземпляра и выполнить в них соответствующие команды. Что-то вроде:
(xterm -geometry 70x70-0-0 -e ssh -i key1 ec2-user@52.x.x.x; **run python file on this instance**) &
(xterm -geometry 70x70+485-200 -e ssh -i key1 ec2-user@52.x.x.x; **run node file on this instance**) &
(xterm -geometry 70x70+0-0 -e ssh -i key1 ec2-user@52.x.x.x; **run R file on this instance**)
2 ответа
Главное, что нужно изменить - это избавиться от точки с запятой перед "** run" (а также с помощью настоящей команды). Что-то вроде
(xterm -geometry 70x70-0-0 -e ssh -i key1 ec2-user@52.x.x.x
**
запустить файл python на этом экземпляре**
) &
(xterm -geometry 70x70+485-200 -e ssh -i key1 ec2-user@52.x.x.x
**
запустить файл узла на этом экземпляре**
) &
(xterm -geometry 70x70+0-0 -e ssh -i key1 ec2-user@52.x.x.x
***run R file on this instance***
) &
После вариантов (таких как -i
) и данные для входа, ssh
принимает команду и аргументы.
Сделай это:
(xterm -geometry 70x70-0-0 -e ssh -i key1 ec2-user@52.x.x.x -t "script.py ; bash";) &
-t
вариант сделать тты и с bash
после script.py
Вы бы получили интерактивный удар, чтобы продолжить командование.