Usando tmux
para enviar comandos de um terminal para outro, percebo que
$ tmux send -t mySession "text" ENTER
envia corretamente text
, mas
$ tmux send -t mySession "up" ENTER
envia text
novamente, provavelmente porque up
é interpretado não como texto, mas como seta para cima com a palavra-chave.
De forma similar,
$ tmux send -t mySession "3" ENTER
envia corretamente 3
, mas
$ tmux send -t mySession "-3" ENTER
tmux: unknown option -- 3
usage: send-keys [-lRM] [-t target-pane] key
falha com esta mensagem de erro, e este ingênuo tenta escapar
$ tmux send -t mySession "\-3" ENTER
envia 3
novamente, não o esperado -3
.
De qualquer forma, tenho certeza de que perdi algo sobre a maneira como o tmux interpreta e entende seu argumento. O que estou perdendo aqui?
Como faço para garantir que mytmuxcommand "<text>" ENTER
sempre será interpretado como "enviar real <text>
e enviar a tecla ENTER" ?
Para enviar uma string literalmente você pode usar a
-l
opção parasend-keys
, mas como você ainda pode ter mais opções após o-l
você precisa usar algo como''
(uma string vazia) para não mais procurar opções começando-
.Você não pode misturar e combinar o literal com nomes-chave como Enter, então, finalmente, você precisa fornecer dois comandos, por exemplo: