El siguiente script intenta crear un subdirectorio tmp/project en el directorio actual.
En la condición de la sentencia if verificamos si el valor de la variable $? es diferente de 0. Si ese es el caso, imprimimos un mensaje de error y salimos del script con el código de salida 1.
La rama else imprime un mensaje exitoso y se ejecuta solo si el valor de $? es 0
Corresponde a herramienta de la línea de comandos. Sencilla, pero que combinada con otros comandos, puede ser de gran ayuda. Básicamente se encarga de imprimir una secuencia de números. Los siguientes comandos se pueden probar para ver lo que realizan :
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
seq10
# Muestra del 1 al 10
seq715
# Muestra del 7 al 15
seq1215
# Muestra del 1 al 15 saltándose de a 2 (1 3 5 .. 15)
seq-s,19
# Se puede añadir un separador (1,2,3,4,5,6,7,8,9)
seq-f"%03g"6
# Se puede especificar un formato (001 002 .. 006)
expr`seq-s" + "111200`
# Muestra la suma desde el número 111 al 200 (13995)
echo$(seq-f"file%02g"110)
# Muestra en pantalla file01 file02 file03 .. file10
touch$(seq-f"file%02g"110)
# Igual que el anterior, pero aquí creara 10 archivos
En BASH no es posible ( de manera nativa) realizar operaciones con números decimales. Para superar esta limitación de BASH, se utiliza el comando “bc”, con el cual se pueden realizar operaciones con números decimales, también se puede indicar la cantidad de números decimales que entregara en el resultado. Algunos ejemplos de código :
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
# Cantidad de números pasados como argumentos
CANT_ARGUMENTOS=$#
# Separador de argumentos
IFS='+'
# Reunimos todos los argumentos incluyendo el separador
echo"El promedio de los números ingresados es $PROMEDIO"
Otros ejemplos de linea de comandos:
echo"scale=4; 20/3"|bc-l
6.6666
Acá ingresaremos 2 valores, los cuales pueden ser positivos, negativo o decimal. El programa los valida que realmente correspondan a un número. Posterior a esto despliega el número menor ingresado :
Ahora mostraremos la comparación de números decimales, para realizar esto, lo haremos con ayuda del lenguaje AWK (script adaptado para NAGIOS) , chequeo de UPTIME, el SCRIPT solicita se ingrese el WARNING y CRITICO de proceso y lo compara con el primer valor (Carga del sistema al minuto) :