Pages

Mostrando postagens com marcador Shell Script. Mostrar todas as postagens
Mostrando postagens com marcador Shell Script. Mostrar todas as postagens

quarta-feira, 19 de maio de 2010

afterFormat para Ubuntu 10.04

Ano passado criei o afterFormat para o Ubuntu 9.10. Para quem não sabe, o afterFormat é um script que instala automaticamente diversos softwares básicos (principalmente para desenvolvedores) que sempre são necessários após uma formatação, além de fazer algumas configurações. Para ver tudo o que ele faz, dê uma olhada no projeto no github.

Como foi uma mão na roda para muita gente, atualizei o script para rodar no Ubuntu 10.04 (fiz um branch para a versão do Ubuntu 9.10). Adicionei algumas coisas novas, retirei algumas que ficaram obsoletas e o script ficou bem legal.

A cara dele está assim:

screenshot do afterFormat para Ubuntu 10.04

Para baixar, basta entrar no aqui, clicar no link Download Source e escolher entre zip ou tar.

Qualquer dúvida ou sugestão, é só comentar!

[ ]'s

domingo, 4 de abril de 2010

Refactoring script html-characters

Quem desenvolve para web sabe que é um saco ter que ficar colocando &aacutE; ao invés de á, por exemplo, para não ter problemas com a codificação.

Como tive esse problema recentemente, adicionei ao projeto Refactoring scripts o html-characters.sh, que troca caracteres especiais da língua portuguesa por seus respectivos códigos html. O script informa os caracteres encontrados em cada arquivo que foi modificado.

Lembre-se de rodar esse script apenas para os arquivos de, por exemplo, templates (django) ou views (rails), para não modificar arquivos que nada tem a ver com o assunto.

O legal é que você pode escrever a vontade, sem se preocupar com os acentos e rodar o script antes de fazer o deployment (ainda mais se for automatizado).

Informações mais detalhadas:

$ ./html-characters.sh --help
[ ]'s

quarta-feira, 25 de novembro de 2009

remove-temps - Refactoring script para apagar arquivos temporários

Adicionei no projeto Refactoring-scripts um novo script: o remove-temps. Ele apenas busca recursivamente em um diretório por arquivos temporários e os elimina. Como é útil rodar antes de comitar, adicionei a opção -g, ou --git, que executa o comando "git rm" para todos os arquivos temporários, sendo que para utilizar esta opção, deve-se estar na diretório root do projeto e os arquivos ainda devem existir.

[ ]'s

segunda-feira, 23 de novembro de 2009

afterFormat - script pós formatação para Ubuntu Karmic Koala

Para melhorar nossas vidas nas aulas, alguns amigos e eu tivemos que formatar os PC's das bancadas de aula. Como em nossas bancadas utilizamos Linux, mais precisamente o Ubuntu, fiz um script em shell para automatizar o processo de configuração das máquinas e instalação dos softwares necessários.

Como também tenho que formatar minha máquina e alguns amigos disseram que também irão formatar as suas, e todos iremos instalar o Ubuntu Karmic Koala, fiz uma adaptação do script das bancadas para uma versão que baixe tudo da Internet, instalando automaticamente diversos softwares básicos que sempre são necessários após uma formatação.

Criei um projeto no github para o script afterFormat.sh. Na imagem abaixo está a interface dos script na qual você pode escolher o que quer instalar ou não.

screenshot do afterFormat

Dê uma olhada no README para mais informações sobre os softwares que afterFormat instala, como executá-lo e como fazer a configuração básica do StarDict.

[ ]'s

domingo, 15 de novembro de 2009

Refactoring scripts em shell

Mês passado estava trabalhando em um sistema que estou desenvolvendo em Rails com amigos da faculdade quando um deles viu que tinha feito uma merda. Ele tinha criado um modelo "viagem" com o scaffolding mas esqueceu de colocar o plural correto no inflections. Assim o scaffolding criou vários arquivos que continham no nome as palavras "viagems" ou "Viagems" e vários arquivos que tinham em seu conteúdo essas mesmas palavras. Contudo ele já havia programado bastante coisa depois disso e ficaria ruim retornar ao commit anterior no git.

Ele já ia alterar tudo manualmente quando falei: Calma aí! Vou criar um script para isso!

Era uma boa oportunidade, já que estou aprendendo a programar em shell. Em pouco tempo criei dois scripts básicos: um para modificar os nomes dos arquivos e outro para modificar o conteúdo. Logo pensei em montar um conjunto de scripts para refactoring já que uso o combo Gedit + Terminal para programar. Daí essa semana comecei a ler o livro Shell Script Professional do Aurélio Marinho, que é muito bom livro por sinal, e dei uma profissionalizada nos scripts para colocar em prática meus aprendizados.

O resultado está no projeto Refactoring-scripts github. Por enquanto são dois:
  • find-replace.sh - Busca em um arquivo, ou recursivamente em todos os arquivos de um diretório, por uma palavra e a substitui por outra.
  • change-file-name.sh - Busca recursivamente em um diretório por arquivos que contenham uma palavra em seu nome e a substitui por outra.
A pretensão é, além criar outros scripts, cirar um fork para um plugin de refactoring em python para o gedit. Mas isso é coisa para as férias de fim de ano. =)