Выполнить команду на 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 Вы бы получили интерактивный удар, чтобы продолжить командование.

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