
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:
Publicar un comentario