Inicio Noticias en 330 Creación de scripts básicos en bash para Raspberry Pi

Creación de scripts básicos en bash para Raspberry Pi

Bash es un interprete de comandos que utilizan los sistemas basados en UNIX, en particular, las distribuciones de Linux como Raspberry Pi OS. Un script es un programa que puedes ejecutar en tu Rasberry Pi. Programarlos es muy sencillo y resultan muy útiles cuando quieres ejecutar instrucciones al arrancar tu tarjeta, cuando quieres crear lanzadores para alguna aplicación, y más. En esta entrada te mostraremos algunas consideraciones básicas para crear tus scripts y como puedes usarlos en tu Raspberry Pi.

Primer Script

Empecemos por crear un script simple que devuelva un «Hola mundo». Todos nuestros archivos vana a empezar con un #!/bin/bash seguido de los comandos que queramos ejecutar. En este ejemplo usaremos el comando echo > seguido del mensaje que queremos desplegar. Entonces, desde la terminal, vamos a crear primero una carpeta donde guardar nuestros scripts, llamada /home/pi/bin.

mkdir /home/pi/bin

Luego usando el editor nano, vamos a crear el archivo así

cd /home/pi/bin
nano ./primer_script

Entonces dentro del editor nano vamos a ingresar este código

#!/bin/bash
# Este es el primer script. Esto es un comentario

echo Hola Mundo! #Los comentarios tambien pueden ir en linea con el codigo

presionamos Ctrl+X para cerrar el archivo y «S» para confirmar y salir

Este es un ejemplo del script que podemos crear. Vía: Core-Electronics

Por ultimo necesitamos darle permisos de ejecución al archivo. para eso con ejecutaremos el siguiente comando:

chmod u+rwx primer_script

Con esto podremos leer, escribir y ejecutar el archivo. Los parámetros u+rwx indican que queremos asignar los permisos al propietario del archivo, que queremos añadir + y r w x son para leer, escribir y ejecutar, respectivamente.

Finalmente ya podremos ejecutar el script. Para ello ingresa:

./primer_script

El resultado debería ser algo así

Al ejecutar el script la consola nos mostrará el mensaje que ingresamos después de echo. Vía: Core-Electronics

Pausas y operaciones aritméticas

Si quieres manejar pausas, puedes hacerlo con el comando sleep, seguido de los segundos que quieres pausar el programa.

#!/bin/bash
echo “shell script”
ls -l
echo “pausing for 5 seconds”
# this is a comment
sleep 5
ls -a

Si quieres usar operadores matemáticos, BASH es capaz de realizar operaciones. Por ejemplo, en este caso hacemos un pequeño programa que divide dos números.

#!/bin/bash
echo “math and variables”
n=6/3
echo $n
n=$((6/3))
echo $n
k=$((n/3))
echo $k

Otros ejemplos

Existen una gran variedad de programas que se comparten por internet para realizar pruebas de desempeño o para automatizar ciertos procesos al iniciar la tarjeta. Por ejemplo, este es un script que te permite ver el uso del CPU.

#!/bin/bash
# Measure cpu frequency
# Usage: sleep duration is 0.1s:
# bash get_cpu_freq.sh 0.1

startTime=$(date +%s.%N)
sleepDurationSeconds=$1
echo "time,freq"

while true; do
    currentTime=$(date +%s.%N)

    # calculate the avg cpu freq
    CPU_Freq_List=$(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq)
    CPU_Freq=$(echo "$CPU_Freq_List" | awk -F " " '{ total += $1; count++ } END { print total/count }')
    elapsedTime=$(echo "$currentTime-$startTime" | bc)

    echo "$elapsedTime,$CPU_Freq"

    sleep $sleepDurationSeconds
done

Como podrás darte cuenta, algunas sentencias se mantienen igual a otros lenguajes de programación, como la creación de variables o el ciclo while. Puedes guardar el archivo con cualquier nombre y modificar los permisos con chmod para después ejecutarlo.

Conclusiones:

Saber manejar scripts te permitirá ejecutar comandos rápidamente con la terminal, lo que necesitas saber en general es como redactar uno y como modificar los permisos de ejecución. A medida que vayas creando más programas podrás hacer cosas más complejas y ejecutarlos cuando se inicia el sistema.

Referencias:

Basics: Writing Your First Script with Raspberry Pi

Raspberry Pi Useful Scripts