Inicializando com Linux em USB no MacBook

enterprise1_abertura

Quem tem um MacBook¹ sabe da frustração de não conseguir inicializá-lo normalmente em Linux a partir de dispositivos USB e tendo de recorrer à alguma mídia óptica — de preferência as regraváveis. Depois de tentar sem sucesso diversos tutoriais e ferramentas até já tinha desistido quando, por acidente, uma publicação sobre a disponibilização do PIXEL para computadores no blog do Raspberry Pi mostrou a solução para o problema.

(¹) Não só o MacBook mas com certeza qualquer outro computador com processador Intel fabricado pela Apple.

Continuar lendo

Trabalhando com números em Bash

bashnumbers_abertura

E já que tratei de arrays e de strings em Bash vale a pena aproveitar a oportunidade para fazer o mesmo com os tipos numéricos em Bash ou, melhor, do tipo numérico já que o único tipo suportado é o conjunto dos números inteiros. Claro que  é possível fazer operações com números racionais e trabalhar com eles nos scripts mas neste caso deve-se recorrer a programas externos como awk, bc, qalc (parte do qalculate), uma linguagem de programação etc.

Continuar lendo

Manipulação de strings em Bash

stringbash_abertura

Não só é possível utilizar expressões regulares diretamente dentro do Bash e assim acelerar a execução de um script como também pode-se aproveitar algumas das facilidades no tratamento de strings — ou cadeias de caracteres se preferir — para não só ganhar alguma velocidade como também dar um pouco mais de clareza no código e, ao mesmo tempo, resolver algumas limitações conhecidas de algumas ferramentas.

Continuar lendo

Arrays em Bash

arraysbash_abertura

Todos sabem que o Bash possui suporte a variáveis e que estas podem ser sequências de caracteres — strings — ou então números inteiros mas o que poucos sabem (ou se esquecem as vezes) é que também há suporte para arrays.

O que acaba sendo bastante útil, aliás, para economizar o uso awk, cut ou sed dentro dos scripts.

Continuar lendo

Desenvolvimento cruzado no MC-1000

mc1000_abertura

Meu primeiro computador¹ foi um MC-1000, um equipamento curioso e de existência efêmera lançado pela CCE na primeira metade de 1985 e descontinuado cerca de 12 meses depois. Aliás meu modelo, comprado no final de 1986, foi justamente adquirido em uma queima de estoque pois era acompanhado de 26 fitas cassete contendo jogos, pequenos aplicativos, curso de BASIC e 50 programas de exemplo.

(¹) Pois é, o MSX foi meu segundo computador, mais precisamente um HB-8000 v1.2 (o tal do “HOTBIT preto”) que ganhei na semana santa de 1988.

Continuar lendo

REGEX direto no Bash

regexbash_abertura.png

Geralmente quando validava uma sequência de caracteres em shell script usando uma expressão regular eu recorria a uma ferramenta externa (egrep, sed etc) para fazê-lo —  algo como neste exemplo de validação de endereços de e-mail utilizando o egrep:

$ echo "usuario@email.com" |\
  egrep "[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" >/dev/null ; echo $?
0
$ echo "usuario%email-123" |\
 egrep "[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" >/dev/null ;  echo $?
1

Ou seja, o retorno do valor 0 para significando verdadeiro e do valor 1 indicando falso.

Continuar lendo