Bash – Determinar si eres root

En ocasiones necesito que un determinado script se ejecute como root (super usuario) para poder realizar alguna acción que requiere de mayores privilegios.

Cuando esto ocurre lo que suelo hacer es agregar un IF al principio del script que determine si estoy logueado con el usuario correcto o aborte la ejecución del script.

#!/bin/bash
#Si tu usuario es distinto de root muestra un mensaje y sale del script
if [ `whoami` != "root" ]; then
    echo "No eres root";
    exit;
fi
echo "Continua la ejecución del script..."

El comando whoami retorna el usuario que estás usando en la consola y si no es “root” muestra un mensaje y el script finaliza.

Es muy importante respetar todos los espacios que tiene el condicional IF, para que no de un error de sintaxis.

Anuncios

Applet para capturar región de pantalla

Hace algún tiempo un compañero de trabajo me preguntó si existía algún modo de capturar un área de la pantalla sin tener que abrir shutter.

La solución pasa por crear un pequeño script que capture el área seleccionada (usando el comando scrot) y copiarlo al portapeles (comando xclip).

El script se lanza desde un applet anclado a la barra de mate, aunque se puede hacer en otros escritorios de forma similar.

Sigue leyendo

Introducción al bash scripting

¿Qué es un script?

Un script un fichero plano que alberga un conjunto de instrucciones (comandos) que se ejecutan secuencialmente.

¿Para qué sirve un script?

Los scripts sirven principalmente para automatizar tareas, por ejemplo, un script puede realizar la copia de seguridad y a continuación enviar un email con el porcentaje de uso del disco duro.

¿Como crear un script?

Como ya he dicho antes, un script es tan solo un fichero de texto plano con la particuliaridad de que debe tener una extensión .sh. Puedes crear uno desde consola, la interfaz gráfica o desde un editor como Gedit.

touch helloworld.sh

El primer script – Hola mundo

El primer script va a ser el clásico “Hola mundo”. En el fichero helloworld.sh he añadido las siguientes líneas:

#!/bin/bash
echo “Hola mundo”;

La primera línea indica el shell que va a usar el script (/bin/bash), la segunda línea imprime el texto que está entre comillas.

¿Como le doy permisos?

Para poder ejecutar un script es necesario concederle permisos de ejecución. Hay dos modos de hacerlo:

– Desde el gestor de ficheros, entrando en las propiedades del fichero
permisos ejecución caja

– Usando la consola de comandos

chmod u+x

¿Cómo ejecuto un script?

Aunque es posible ejecutar un script haciendo doble sobre el, no es recomendable porque el script se ejecuta y a continuación se cierra, lo que impide saber si se ha ejecutado correctamente o no.

Desde el terminal es posible ejecutar el script con cualquier de estos comandos:

./helloworld.sh
sh helloworld.sh

 

Y así termina la introducción al script en GNU/Linux, próximamente la segunda parte: parámetros y condicionales.