---
id: "terminal-ler-enviar-e-esperar"
titulo: "Ler, enviar e esperar"
resumo: "Como ler o histórico de um terminal, mandar texto ou uma interrupção para o processo e esperar uma condição antes do próximo passo."
idioma: "pt-br"
tipo: "guia"
categoria: "telas"
aplicavelDesde: "0.0.16"
capabilities: ["terminal.output.read", "terminal.input.send"]
estadoEditorial: "aprovado"
nivelEvidencia: "artefato-distribuido"
refFonte: "27574c339b58316408f6be2d62169d59041d07bf"
revisaoFonte: "2026-09-24"
revisor: "mantenedor (v1, 2026-10-03)"
rota: "/docs/pt-br/ferramentas/terminal/ler-enviar-e-esperar/"
fonte: "pt-br/ferramentas/terminal/ler-enviar-e-esperar.md"
caminhoPublico: "docs/publica/pt-br/ferramentas/terminal/ler-enviar-e-esperar.md"
hashFonte: "sha256:fcecf5044e46022a5de56dfa473d2b16de7883714744fb6562258dea796390a8"
hashDestaPagina: "sha256:fcecf5044e46022a5de56dfa473d2b16de7883714744fb6562258dea796390a8"
traducaoAssistidaPorIA: false
traducaoDesatualizada: false
corpoRetido: false
---
Três operações formam o ciclo de trabalho com qualquer processo no Terminal: **ler** o que ele escreveu, **enviar** o que você quer e **esperar** que ele chegue a um estado antes do próximo passo. Na interface, as três são gesto direto — rolar, digitar, olhar. Por linha de comando, elas têm contrato próprio, e é ele que torna a automação previsível.

## Ler o histórico

Na interface, o histórico é o próprio conteúdo do painel: role para trás para ver o que passou.

Pela linha de comando, a leitura tem três modos, e escolher o modo certo evita surpresa:

| Modo | O que devolve | Quando usar |
|---|---|---|
| **Página limitada** | Um bloco delimitado, com o cursor para continuar dali | Você quer acompanhar sem reler tudo |
| **Só o que é novo** | Apenas a saída desde uma leitura anterior | Você já leu até certo ponto e quer o que veio depois |
| **Sessão inteira retida** | Tudo o que ainda está guardado | Você precisa do contexto completo do que sobrou |

Regras que valem para todos os modos:

- Sem cursor e sem limite, a leitura pagina a sessão retida e devolve **tudo o que existe**.
- O cursor devolvido numa leitura é o que você passa na leitura seguinte para receber **só o novo**.
- Há teto por leitura e teto para a sessão inteira. Quando o mais antigo já foi descartado, o resultado **diz isso** em vez de fingir completude.
- Os modos são exclusivos entre si: pedir a sessão inteira junto com um limite de linhas, ou um limite de linhas junto com um cursor, é erro de argumento.
- **A leitura prioriza a tela viva.** Se o processo desenha uma interface de tela cheia (um agente, um editor de terminal), a leitura legível mostra essa tela renderizada; o texto bruto continua acessível na leitura estruturada.
- **Painel sem sessão viva falha com aviso**, em vez de devolver leitura vazia: o painel existe, mas não há nada rodando nele.

## Enviar texto

- O texto pode vir direto na chamada ou de um arquivo. **Para textos de várias linhas, use arquivo**: aspas de shell estragam quebras de linha e citações num texto longo.
- Enviar **não** implica que o Enter foi dado nem que o processo entendeu: é preciso pedir o Enter explicitamente quando você quer que a linha seja submetida.
- **Uma recusa de envio reprova o comando.** Se a resposta disser que o envio não foi aceito, o próximo passo não deve ser tratado como se tivesse sido.
- **Interromper é diferente de enviar.** A interrupção manda o sinal de parada para o processo — é o equivalente a um cancelamento, e pode interromper trabalho em andamento de um agente.

## Esperar antes de enviar

Escrever num processo que ainda não está pronto é a causa mais comum de texto embaralhado. A espera existe para isso:

- **Esperar o fim do processo** — útil para comandos que terminam sozinhos.
- **Esperar a interface do agente ficar ociosa** — é o que você quer antes de mandar a primeira mensagem para um agente que acabou de subir.
- A espera tem **teto de tempo** e um padrão; se o teto for curto demais, a espera expira mesmo com o processo vivo.
- **Condição não satisfeita reprova o comando.** Encadear envio e espera sem olhar o resultado mascara tanto uma recusa de envio quanto uma espera expirada.

## Sequência recomendada

1. Criar a sessão (com o agente, se for o caso).
2. Esperar a condição que diz que o processo está pronto.
3. Ler o que já está na tela — é o que confirma que a interface assumiu.
4. Enviar o texto, pedindo o Enter.
5. Esperar de novo antes de ler o resultado.
6. Ler só o que é novo, a partir do cursor da leitura anterior.

## Por linha de comando

As opções exatas de leitura, envio, interrupção e espera — incluindo os tetos e os modos exclusivos — estão em [Referência de comandos do Terminal](/docs/pt-br/ferramentas/terminal/referencia-cli/).
