Eu estava brincando com um script que envia texto para um tmux stdin após esta resposta ( https://unix.stackexchange.com/a/773049/189571 por @Kamil Maciorowski) e estava fazendo isso de forma errada
tty=$(tmux new-session -d -s aux -PF "#{pane_tty}")
echo -n foo > $tty && tput cr > $tty && echo bar > $tty
tmux capture-pane -t aux -p -S0 -E3
o que resulta em foo PROMPT %> bar
(sequenciado indeterminadamente e PROMPT é impresso)
enquanto o mesmo, mas usando o comando tail -f /dev/null
como argumento de tmux new-session, como sugeriu Kamil, dá bar
como resultado, que é o que eu esperava
Gostaria de entender por que sem cauda tudo falha. Aqui não é tail -f /dev/null
uma espécie de sleep infinity
? Qual é a diferença em não passar nenhum comando? Quero dizer, se você não passar nada para a nova sessão, o painel será mantido ativo até a sessão de eliminação também