Esta questão tem uma solução no ServerFault:
Ele usa o comando send-keys
, documentado nas páginas man:
Segue-se um exemplo "Hello World" que ilustra a utilização do comando send-keys
.
-
Etapa 1. Crie uma sessão desanexada:
user@host:~$ tmux new -d -s foo
-
Etapa 2: execute um comando na sessão desanexada:
user@host:$ tmux send-keys -t foo.0 "echo 'Hello World'" ENTER
-
Etapa 3: Anexar à sessão:
user@host:$ tmux a -t foo
Você deve ver o seguinte texto exibido na janela do terminal Tmux:
user@host:$ echo 'Hello World'
Hello World
user@host:$
Isso demonstra que o comando echo
foi enviado e executado com sucesso dentro da sessão do tmux.
Uma adaptação dessa técnica para seus comandos pode ser algo como o seguinte:
user@host:~$ tmux send-keys -t foo.0 exit ENTER
user@host:~$ tmux send-keys -t foo.0 "cd .." ENTER
user@host:~$ tmux send-keys -t foo.0 "cd app" ENTER
user@host:~$ tmux send-keys -t foo.0 "rails console" ENTER