Coprocessos em Bash – parte 2

coproc-2_abertura

Na primeira parte o coprocesso foi tanto definido com também utilizado para a leitura de forma assíncrona da saída do comando tail mas até o momento foi apenas o monólogo com um programa enviando regularmente linhas de texto a serem impressas na tela. Nesta parte algo mais bidirecional com troca de dados com o coprocesso, uso de uma variável diferente de COPROC e, claro, mais algumas explicações. 🙂

Continuar lendo

Anúncios

Coprocessos em Bash – parte 1

coproc-1_abertura

Quando você executa um programa, pela linha de comando ou a partir de um script, o Bash se encarrega de executá-lo, aguardar a execução terminar, verificar se ela foi bem sucedida¹ e, sendo o caso, direcionar o resultado para a tela, arquivo etc…

No coprocesso² acontece algo diferente; já que o Bash o deixará executando em segundo plano e ao mesmo tempo redirecionará as entrada e saída padrão dele para descritores de arquivo que funcionarão como um canal de comunicação entre eles. É um recurso poderoso e ao mesmo tempo simples de implementar.

E nesta primeira parte, além de uma rápida introdução, a leitura da saída de um programa através de um coprocesso.

(¹) Ou em caso de erro notificar o corrido ou então desviar a execução para algum tratamento de exceções.

(²) Não inventei este nome! Eles são chamados assim mesmo pela documentação do Bash.

Continuar lendo

Utilizando o Vim – parte 2

vim-2_abertura.png

Se a primeira parte consistiu basicamente de um guia sobre como não passar vergonha com o Vim, esta aqui será sobre como utilizar os recursos do editor para se economizar tempo, seja deixando-o cuidar da indentação do código, pesquisando e substituindo automaticamente sequências de texto, ocultando partes para evitar distrações e, claro, editando diversos arquivos simultaneamente.

Continuar lendo

Utilizando o Vim – parte 1

vim-1_tela-inicial

O Vim é um editor de textos clone do VI e disponível (quase que por padrão) em todas as distribuições de Linux, BSD, outros sistemas baseados em UNIX (como macOS X, Solaris etc) ou mesmo nos “não baseados” como é o caso do OpenVMS e de seu “filhote”, o Windows.

Com operação baseada em combinações  de teclas e/ou digitação em linha de comandos ele pode parecer complicado e sem recursos para quem está habituado com editores com menus, ícones etc. Mas o Vim é um editor poderoso, customizável e este aqui é “mais um tutorial” com o mínimo necessário para usá-lo.

E nesta primeira parte, o básico para se editar um documento sem precisar usar o mouse do terminal gráfico… 🙂

Continuar lendo

Modificando commits do Git

amend-1_abertura.png

Na parte 6 do “Usando o Git”, recorri ao git rebase (em modo interativo) para faz a alateração da mensagem de um commit pré existente. Porém esta tanto não é a única funcionalidade do rebase¹ como ainda há um modo bem mais simples de fazê-lo.

E que não serve somente para alterar a mensagem, com o uso do parâmetro ‐‐amend (emenda) do git commit é possível adicionar, editar ou mesmo remover arquivos dentro de um commit já existente.

(¹) Relembrando que o rebase permite coisas como descartar ou mesclar commits.

Continuar lendo

Usando o Git – parte 6

git-6_abertura

A parte anterior consistiu basicamente em um navegar pelo histórico dos commits com recolocando a HEAD em outros posições e até mesmo destacando-a da linha do tempo para testar modificações sem necessariamente precisar armazená-las. Para esta parte, o uso do stash para armazenar temporariamente arquivos de trabalho e um exemplo do uso do rebase para modificar um commit já existente — neste caso alterar a mensagem deste.

Continuar lendo