Curso básico de programación en shell

El uso de shell scripts es una forma de programación muy práctica para los usuarios de linux, ya que nos permite de una manera rápida crear nuestras pequeñas aplicaciones para realizar una tarea específica de una manera cómoda. Aquí os voy a dejar una pequeña guía para practicar y familiarizaros con los shell scripts.

Variables:

Las variables se definen como en la mayoría de los lenguajes: variable = valor y se accede a ella con el símbolo $ delante del nombre de la varible. Por ejemplo:

nombre="María"
echo "Hola me llamo " $nombre => Hola me llamo María

cat $HOME/.ba* => nos devolvería el contenido de los archivos ocultos de nuestra carpeta de trabajo $HOME ocultos (porque lleva el punto delante del nombre) y que empiecen por ba.

Estructura de un shell script:

#!/bin/bash

# mi_primer_programa.sh
#
# Este programa me muestra un saludo
#
echo "Hola mundo"
#
mi_primer_programa.sh

Estructuras básicas de programación:


Sentencia IF:


if [ $1 = "0" ]

then
echo "Cierto: el parámetro es 0."
else
echo "Falso: el parámetro no es 0."
fi

Este ejemplo nos sirve para comentar la manera de pasarle parámetros a un script, si este script se llamara mi_segundo_programa y lo llamaramos así:

sh mi_segundo_programa.sh 5 => devolvería
Falso: el parámetro no es 0

Ya que $1 hace referencia al primer parámetro que se le está pasando o lo que es lo mismo el número 5 que al compararlo con 0 nos da FALSO.

Sentencia For:

# listaDistros.sh: lista de distribuciones linux
# muestra una lista de distribuciones linux
#
distro="ubuntu mandrake fedora debian gentoo slackware"
for i in $distro
do
echo $i
done
# fin listaDistro.sh

Sentencia case:

# diasemana.sh: nombres de los días de la semana
# invocar con número del 0 al 6; 0 es domingo
case $1 in
0) echo Domingo;;
1) echo Lunes;;
2) echo Martes;;
3) echo Miércoles;;
4) echo Jueves;;
5) echo Viernes;;
6) echo Sábado;;
*) echo Debe indicar un número de 0 a 6;;
esac
# fin diasemana.sh

Sentencia while:

# crearYborrar_arch.sh

# crea archivos arch1....arch9, los lista y luego borra
VAL=1
while [ $VAL -lt 10 ] # mientras $VAL <>
do
echo creando archivo arch$VAL
touch arch$VAL
VAL=`expr $VAL + 1`
done
ls -l arch[0-9]
rm arch[0-9]
# fin crearYborrar_arch.sh

Sentencia until:

# crea archivos arch1....arch9, los lista y luego borra
VAL=1
until [ $VAL -eq 10 ] # hasta que $VAL = 10
do
echo creando archivo arch$VAL
touch arch$VAL
VAL=`expr $VAL + 1`
done
ls -l arch[0-9]
rm arch[0-9]
# fin crearYborrar_arch2.sh

Continuará...

0 comentarios: