Los scripts son ficheros de texto ejecutables que contienen comandos de sistema para ser ejecutados en conjunto, facilitando la vida del administrador y de otros usuarios en la ejecución de tareas en el sistema.
En este artículo se explica la sintáxis que se puede utilizar en nuestros scripts.
En variables:
-lt Número es menor que (LessThan)
-gt Número es mayor que (GreaterThan)
-le Número es menor igual (LessEqual)
-ge Número es mayor igual (GreaterEqual)
-eq Número es igual (EQual)
-ne Número es diferente (NotEqual)
= String es igual
!= String es diferente
-n String no es nulo
-z String es nulo
En ficheros:
-d Es un directorio
-f Es un fichero normal
-s El tamaño del fichero es mayor que cero
-r El fichero tiene permiso de lectura
-w El fichero tiene permiso de escritura
-nt El fichero es más reciente (NewerThan)
-ot El fichero es más antiguo (OlderThan)
-ef El fichero es el mismo (EqualFile)
Sintáxis:
if <condicion1>; then
comandos1
elif <condicion2>; then
comandos2
else
comandos3
fi
Ejemplo:
read VAR
if [ $VAR -ge 10 ] && [ $VAR -le 20 ]; then
echo "Has introducido un número entre 10 y 20!"
else
echo "$VAR"
fi
Sintáxis:
case <variable> in
<algo_para_comparar>1) <comando>1 ; <comando>2 ;;
<algo_para_comparar>2) <comando>3 ; <comando>4 ;;
<algo_para_comparar>n) <comando>n ; <comando>n+1 ;;
*) echo "Introducir un parámetro válido" ;;
esac
Ejemplo:
case $1 in
"list") echo "Listar!";;
"ni!") echo "Ni!";;
*) echo "Parámetro $1 desconocido";;
esac
Sintáxis:
for((<variable>=<valor_inicial>; <condicion>; <variable>++/--));
do
<comandos>
done
Ejemplo:
for((i=1; i <= 100; i++));
do
echo "$i"
done
for MAQUINA in `cat /root/listado_maquinas`
do
echo $MAQUINA
done
Sintáxis:
while <condición>; do
<comando>1
<comando>2
<comando>n
done
Ejemplo:
i=1
while [ i -le 100 ]; do
echo "$i"
done
Para depurar secuencialmente nuestro script ejecutar el siguiente comando:
# bash -x script.sh
Algunas variables establecidas internamente por el shell y que están disponibles para el usuario:
Comentarios recientes
8 weeks 1 day ago
22 weeks 2 days ago
27 weeks 5 days ago
36 weeks 3 days ago
44 weeks 2 days ago
51 weeks 5 days ago
1 year 3 days ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 15 weeks ago