Você tem que dar o parâmetro -X
a screen
comando, eu acho que você quer "stuff" um comando minecraft-server para a sessão screen
.
screen -r minecraft -p 0 -X stuff "stop $(printf '\r')"
O printf
envia um retorno de carro, então o comando "stop" é executado. -p 0
garante que os caracteres sejam enviados para a janela de tela inicial.
Para enviá-lo por ssh
você tem que colocar o comando em " "
(você também pode usar ' '
, mas isso não permitiria a substituição do comando).
ssh -t -i ~/.ssh/id_dsa server_user@server_address "screen -r minecraft -X stuff "even other_server_name is getting in on the action\! $(echo -ne '\r')""
Cuidado que !
é uma palavra reservada, você tem que escapar dela.
Também é possível para incluir uma nova linha gerada pelo usuário no comando para executá-lo:
ssh -t -i ~/.ssh/id_dsa server_user@server_address "screen -r minecraft -X stuff 'even other_server_name is getting in on the action!
'"
Escapar de !
não é necessário aqui.