Compartiendo algunos scripts

Escrito por nelson Mon, 28 Jan 2008 23:47:00 GMT

Seguramente la pereza es la madre de muchos de esos pequeños scripts que uno va haciendo para tratar de evitar todas las tareas repetitivas diarias. Acá dejo algunos de mi autoría y algunos que saque alguna vez de internet pero que lametablemente no tomé nota de donde o quien eran :(....

Muchas veces conectado remotamente a un servidor necesito acceder a la base mysql del proyecto RoR activo y es un dolor de culo tener que mirar el database.yml para ver las credenciales y luego escribir la línea a mano para conectarse, para evitar eso, escribí esto:

#! /usr/bin/ruby
require 'yaml'

puts ARGV[0]
case ARGV[0]
when 'd' then env = 'development'
when 'p' then env = 'production'
when 't' then env = 'test'
else
  env = 'development'
end

config = YAML::load_file('config/database.yml')[env]

puts "mysql -u#{config['username']} -p#{config['password']} #{config['database']}" 
system("mysql -u#{config['username']} -p#{config['password']} #{config['database']}")
de esta manera estando parado sobre el directorio raiz del proyecto se puede hacer
 rmy
y se conecta por defecto a desarrollo o
rmy p
y nos conectamos a producción…

Otro… ahora que la última versión de RoR incorporó la tarea de poder ver las rutas con

rake route
esta bueno, pero es otro dolor de culo tener que buscar una ruta y escribir
rake route | grep usuarios
para filtrar la vista… para eso ésta función en bash

rro () 
{ 
    rake routes | grep --color=auto $1
}

ahora solo hay que hacer

rro usuarios

y como plus se tiene el texto buscado resaltado en color ;).. una joyita….

Otra función bash que uso mucho basado en la misma idea es la de búsqueda en el history del bash

function hf()
{
  history | grep --color=auto $1

}
y esto para que ??.. aveces hay comandos largos con parámetros que repetirlos es tedioso, para evitar eso primero buscamos en el history
hf mysql
para obtener todos los comandos en el history que tenga el texto mysql y a la izquierda hay un número con la posición en el buffer, con ese número luego hacemos
!128
y se ejecuta esa entrada en el history ;)

Para terminar les dejo mi pequeño archivo de bash que cargo cada vez que abro una consola

alias l='ls -lah' 
alias h='history'
alias c='clear'
alias ..='cd ..'
alias ...='cd ../..'
alias grep='grep --color=auto'

set -o vi

function hf()
{
  history | grep $1
}

function sf()
{
  svn st | grep \? | sed '/images\/[0-9]\+$/d' | sed '/\.swp/d'
}

function rro()
{
  rake routes | grep $1
}
como cargo este archivo ??... al final de .bashrc tengo:
. ~/bin/bash_alias

bash_alias es el nombre de mi archivo

Espero que a alguien le interese y le sirva!.

Trackbacks

Use el siguiente enlace para realizar un trackback desde su sitio:
http://netflux.com.ar/articles/trackback/200

Comentarios

Dejar una respuesta

Comments