Bases numéricas em Bash

base_numerica_bash-1_abertura

Algo que só fui me dar conta pois aconteceu de um script em Bash resultar em um erro ao tentar fazer uma simples operação de adição! O motivo? Um simples zero à esquerda do número e que resultou uma certa perda de tempo mas também na “descoberta” que o o Bash sabe tratar outras bases numéricas além da, óbvia, decimal! 🙂

Continuar lendo

Anúncios

Instalação do WordPress com Vagrant

wordpress-1_abertura

Esta é uma configuração do Vagrant que preparei para automatizar a instalação do WordPress em uma máquina virtual rodando a versão 17.10 do Ubuntu, com as versões 2.4 do Apache HTTP Server, 7.1 do PHP, 10.1 do MariaDB, a última versão estável¹ do WordPress e outras dependências.

Na verdade não há mistério na instalação de todo este ecossistema, o problema está nos “pequenos detalhes” que podem te fazer perder algum tempo caso sejam esquecidos — e o serão quando se tem alguma pressa! 🙂

(¹) Por enquanto a versão é a 4.9.

Continuar lendo

Inserção no início do arquivo com ‘sed’

incluir_sed-1_abertura

Bem. para inserir conteúdo no final de um arquivo já existente basta redirecioná-lo utilizando o “>>”, isto é, utilizar comandos como «echo “mensagem” >> arquivo1» ou então «cat arquivo2 >> arquivo1» para realizar a tarefa. Mas como fazer o oposto? Isto é, inserir conteúdo no início sem necessariamente criar um arquivo intermediário no processo? Uma maneira de fazê-lo é utilizando o sed.

Continuar lendo

Argumentos da linha de comando com docopt

docopt-1_abertura

No que diz respeito aos argumentos passados via linha de comando, você pode interpretá-los de forma manual, ou seja, pegando a lista enviada pelo sistema operacional e identificar cada elemento, ou utilizar alguma biblioteca específica para tal função — E, felizmente, há diversas delas e disponíveis para várias linguagens de programação.

Especificamente em Python¹ há uma bastante interessante chamada docopt, que interpreta automaticamente a sintaxe dos argumentos da linha de comando a partir da forma como se convencionou descrever (há tempos) no próprio texto de ajuda —  “- -help” — e nas páginas de manual dos programas.

(¹) Ele foi originalmente escrito para ser usado em Python porém está disponível também para outras linguagens de programação.

Continuar lendo

Ambiente de desenvolvimento do Laravel com Vagrant

vagrant_laravel-1_abertura

Esta é uma configuração do Vagrant que preparei para automatizar a criação de um ambiente de desenvolvimento do Laravel em uma máquina virtual rodando a versão 17.10 do Ubuntu (esta versão só tem em 64 bit), com PHP 7.1 e os demais arquivos necessários para o framework já instaladas.

E já que as dependências não estavam assim tão óbvias resolvi disponibilizá-lo junto com os demais arquivos.

Continuar lendo