Trucos UNIX: Cuando un alias no es suficiente

A mi me encanta UNIX por su linea de comandos. Sin embargo también me da una pereza increible escribir algo tan largo como esto cada vez que quiero notificar a los directorios de blogs que mi página está actualizada:

/Users/josevnz/bin/ping_controller.sh veneblogs,weblogs,technorati,bitacoras.com,pingomatic kodegeek http://kodegeek.com

Asi que un alias cae como anillo al dedo:

alias pingall=’/Users/josevnz/bin/ping_controller.sh veneblogs,weblogs,technorati,bitacoras.com,pingomatic kodegeek http://kodegeek.com’

Para después escribir solamante “pingall“.

Sin embargo, que ocurre si por ejemplo quisiera pasarle el titulo del blog a ciertos directorios como todosblogs.com cada vez que hago el ping:

pingall “Este es otro post del fabuloso Kodegeek”

Nada, no se puede. Con un alias estoy jodido porque no soportan argumentos.

Pero no todo está perdido. Para eso simplemente ponemos una pequeña función (les muestro la sintaxis en Bash) que nos haga el favor (primero haga unlias ping para eliminar el viejo alias):

function pingall { /Users/josevnz/bin/ping_controller.sh veneblogs,weblogs,technorati,bitacoras.com,pingomatic kodegeek http://kodegeek.com $1 }

Y si quiere guardar sus cambios entonces pongalos en su ~/.profile, ~/.bashrc o equivalente.

Blogalaxia.com:alias, bash, function, unix
Technorati.com:alias, bash, function, unix