Dica de desenvolvedor: copie automaticamente a saída do console para a área de transferência¶
Categoria: Produtividade Linux/Shell
Plataforma: Linux (zsh + Konsole/KDE)
O problema¶
Ao trabalhar com assistentes de IA, muitas vezes você precisa copiar a saída do terminal e colá-la no chat. Isso geralmente significa:
Execute o comando
Selecione a saída com o mouse
Copie
Mude para o navegador
Cole
São muitos passos.
A solução: captura automática via preexec / precmd¶
Adicione isto ao seu ~/.zshrc:
# === AUTO-OUTPUT LOGGER ===
# Automatically saves console output to ~/t.txt and copies to clipboard.
# Toggle: set AUTO_CLIPBOARD=true/false
AUTO_CLIPBOARD=true
# Redirect stdout+stderr to ~/t.txt before each command
preexec() {
case "$1" in
sudo*|su*) return ;;
*) exec > >(tee ~/t.txt) 2>&1 ;;
esac
}
precmd() {
exec >/dev/tty 2>&1
if [ "$AUTO_CLIPBOARD" = "true" ] && [ -s ~/t.txt ]; then
cleaned=$(cat ~/t.txt \
| sed 's/\][0-9]*;[^]]*\][0-9]*;//g; s/^[0-9]*;//g' \
| sed "s|$HOME|~|g" \
| sed 's/[^[:print:]]//g' \
| grep -v '^$')
if [ -n "$cleaned" ]; then
echo "$cleaned" | xclip -selection clipboard
echo "[📋 In Zwischenablage kopiert]"
fi
fi
}
Então recarregue:
source ~/.zshrc
Resultado¶
Após cada comando, a saída é automaticamente na sua área de transferência — pronta para ser colada no seu chat de IA com Ctrl+V.
A saída também é sempre salva em ~/t.txt para referência.
##Como funciona
Parte |
O que faz |
|---|---|
|
Executado antes de cada comando, redireciona a saída para |
|
Executa após cada comando, restaura stdout e copia para a área de transferência |
|
Salva a saída em um arquivo enquanto ainda a mostra no terminal |
|
Remove sequências de escape de título do KDE Konsole ( |
|
Copia a saída limpa para a área de transferência |
Requisitos¶
# Install xclip if not present
sudo pacman -S xclip # Manjaro/Arch
sudo apt install xclip # Ubuntu/Debian
⚠️ O que NÃO fazer¶
Não use fc -ln -1 | bash para executar novamente o último comando:
CODE_BLOCO_3
Isso reexecuta cada comando após sua conclusão, o que pode causar efeitos colaterais destrutivos - por exemplo, sobrescrever arquivos, reexecutar git commit, reexecutar sed -i, etc.
A abordagem preexec/precmd acima captura a saída durante a execução — segura e confiável.