У меня есть PHP-скрипт, который запускает отдельностоящий экран через SSH:Выполнение команды на экране SSH через SSH с phpseclib
$ssh->exec("screen -m -d -S ".$user);
теперь нужно выполнить команду на этом экране, не будучи в этом экране. У меня есть код, который делает это, который я тестировал через SSH-клиент, но когда я пытаюсь использовать его с командой phpeclib exec, это не работает. Это код, который работает:
screen -S ".$user." -X stuff "cd minecraft/servers/".$user."/;sh start.sh $(printf '\r')"
И это он в PHP скрипт:
$ssh->exec("screen -S ".$user." -X stuff \"cd minecraft/servers/".$user."/;sh start.sh $(printf '\r')\"");
Я попытался избежать лишних двойных кавычек в коде.
Есть ли что-нибудь, что я могу сделать, чтобы сделать эту работу через PHP? Благодаря
Хммм ... создайте два сценария bash, сначала: создайте экран с параметром 'user' с именем f.e. 'run_screen', второй: тестер для SSH-клиента с параметром' user' с именем f.e. 'Run_test'. Запустите первый скрипт '$ ssh-> exec ('[full_path]/run_screen'. $ User);' и second: '$ ssh-> exec ('[full_path]/run_test'. $ User);'. Все системные команды перемещаются в сценарии bash. Вы можете писать сценарии в bash? – mkjasinski
Я не совсем уверен, как сделать эти файлы bash, не могли бы вы связать меня с ресурсом или чем-то еще? – Runner
смотрите здесь: [http://linuxconfig.org/Bash_scripting_Tutorial](http://linuxconfig.org/Bash_scripting_Tutorial). – mkjasinski