O comando ‘select’

select-1_abertura

O select é um comando interno do Bash e sua função é construir dinamicamente um menu a partir de uma lista de opções. Isto é, ele atribui um valor numérico para cada item, lista na tela, exibe um prompt e fica aguardando a seleção do usuário antes de seguir adiante.

E se você já utilizou o comando tzselect alguma vez na vida, saiba que já esbarrou com ele pela frente… 🙂

Continuar lendo

Anúncios

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

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

Substituição de processos no Bash

proc_subst-1_abertura

Um recurso muito útil do Bash, e também de outras shells em sistemas UNIX, é o pipe¹ e com ele é possível direcionar a saída de um programa para a entrada de outro. A substituição de processos — ou process substitution — funciona de modo parecido porém aqui é possível se direcionar a saída de mais de um programa para a entrada de outro como se este fossem arquivos.

(¹) Sim, outros sistemas não UNIX também possuem este recurso mas implementado de modo bem diferente as vezes.

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