Envie o comando para uma tela desanexada com enter?

1

Eu tenho uma tela rodando um servidor. Essa tela é executada com:

screen -m -d -S server (cmd to start server)

Então eu quero enviar um comando para o servidor fazendo isso:

screen -S minecraft -X stuff (cmd)

Isso envia o comando para o servidor, mas não o executa. (Como se você digitou ls no terminal sem pressionar enter).

Então, como eu posso executar o comando / simular um enter press?

    
por Der Hochstapler 03.09.2012 / 16:52

1 resposta

3

Você pode fazer isso forçando um retorno de carro.

Uma maneira de fazer isso é acrescentar um caractere control-M no final. Uma maneira típica de fazer isso no shell é pressionar ctrl-v primeiro e, em seguida, pressionar Return . O ctrl-v informa ao shell que o próximo pressionamento de tecla deve ser incluído literalmente. Isso evita que Return termine a linha e envie o comando.

Então seu comando seria algo como:

screen -S minecraft -X stuff 'ls^M'

Onde a parte ^M não é literalmente esses caracteres, mas na verdade o resultado de pressionar ctrl-v seguido por Return .

    
por 03.09.2012 / 21:26