Archive for the ‘How To’ Category

h1

[bash-tip] Instalando Turpial

25/12/2013

Conversando por twitter con Wil Alvarez (@satanas82) Carlos Guerrero (@guerrerocarlos), sugirieron hacer un script de instalación de turpial (de hecho se pusieron más creativos, pero luego iremos con otros cambios), basados en el script de actualización del post anterior.

Bueno, hay muchas cosas en este script que no voy a explicar en este momento, pero lo más importante es el uso de los “if”. Les recomiendo que chequeen esto bastante bien, pues hay muchas cosas que notar en estos condicionales.

Bueno sin más preámbulo, el script:

http://paste.ubuntu.com/6636151/

No coloco el script directamente pues son más de 100 líneas de código.

Be Free, Be Linux
X3MBoy

Advertisements
h1

[bash-tip] Actualizando turpial

19/12/2013

Desde que comenzaron las primeras versiones públicas de turpial (el cliente de microblogging) he estado participando en las discusones del grupo de desarrolladores de tan maravillosa herramienta. Para la última versión (v3.0) he estado haciendo testing y pues para estar al día con las actualizaciones es necesario actualizar 2 cosas: libturpial, el motor que mueve todas las conexiones; y turpial, el front-end de la herramienta.

El problema es que ambas cosas están por separado en github, y hay que actualizar cada cosa por separado. Por ello me he crado un script que haga el trabajo por mí. Lo dejo por acá:


#!/bin/bash
USER_HOME=$(eval echo ~${SUDO_USER})
if [ `whoami` != root ]; then
echo Please run this script using sudo
exit
fi

cd $USER_HOME/libturpial
git pull origin master
sudo python setup.py develop
cd $USER_HOME/turpial
git pull origin development
sudo python setup.py develop

Lo único que tiene de especial este script es que chequea el directorio del usuario antes de convertirse en root para encontrar la ruta de los directorios, lo demás es algo de git e instalación de cosas con setupotools de python. Este script requiere tener instalado sudo en su sistema, cosa que si es un debian-derivated ya viene por defecto, pero en mi sistema (Fedora) no. En estos dos SO he porbado y funciona a la perfección, teniendo cómo único requerimiento que turpial haya sido instalado siguiendo las instrucciones de la wiki de desarrollo de turpial.

Be Free, Be Linux
X3MBoy

h1

[bash-tip] Condicionales

26/11/2013

Una estructura muy importante a la hora de programar son los condicionales, también conocidos como if (inglés de “si” en el contexto de pregunta lógica “si voy, entonces voy en avión”). Y de eso se trata básicamente, tomar una decisión de que acciones tomar dada una condición. Este punto ya lo expliqué en los post de python, no voy a profundizar mucho en la lógica de los condicioneales, voy a ir directo a la sintaxis en bash:

if condición; then

condición es una experesión lógica, que devuelve verdadero o falso, pero en el caso de bash, que no es un lenguaje de alto nivel, evalúa 0 ó 1. Esto significa que:

if 0; then echo "Hola"

Siempre imprimirá Hola en la pantalla. También es necesario saber que para evaluar expresiones es necesario colocarlas entre comillas, y cualquier evaluación que devuelva 0 ó 1 es válida.

Tenemos una larga lista de parámetros que se pueden evaluar, cómo pueden notar en la tabla siguiente:
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html#tab_07_01

IMHO las más importantes son -a con la que puedes verificar si un archivo existe, -d con lo que puedes saber si es un directorio y las evaluaciones aritméticas -eq, -ne, -lt, -le, -gt y -ge que significan igual, no igual (diferente), menor, menor o igual, mayor y mayor o igual respectivamente.

Espero les sea de utilidad este pequeño tip.

Be Free, Be Linux
X3MBoy

h1

[bash-tip] Automatizar tareas

15/05/2013

Lo primero que hace cualquier usuario linux cuando es novel (nuevo o newbie). es personalizar los comandos con alias. Pronto descubrirá que esta prática es muy mal vista además de ser insegura, y encontrará que lo más común es tener pequeños scripts que le faciliten la vida. Lo primero que tenemos que saber es que un script simplementes son instrucciones una después de otra, tal como las instrucciones o sentencias de un lenguaje de programación.

Veamos algo rápido de sintaxis:

Comenzamos el script con algo llamado “shabang“, simplemente consiste en decirle al interprete de comandos “ con qué se come” el script. Simplemente le decimos con que programa debe interpretar las sentencias dentro del script. En este punto resalto que un script es un conjunto de sentencias o comandos, uno debajo de otro, guardados en un archivo de texto. Los que han seguido mis entradas de Python me entenderán, y ya estarán familiarizados con el “shabang“.

Mi primer script fue el siguiente:

#!/bin/bash
sudo aptitude -y update
sudo aptitude -y safe-upgrade
sudo aptitude -y clean
sudo aptitude -y autoclean

Muy simple, sin estilo, pero en ese momento hacía lo que yo quería. Luego de eso, simplemente darle permisos de ejecución, y ejecutar con ./:

chmod +x actualizar.sh
./actualizar.sh

Be Free, Be Linux
X3MBoy