LENGUAJE BASH
Conceptos Basicos
Docente : Ramón Vásquez.
QUE ES EL LENGUAJE
BASH.
• Bash (Bourne again shell) es un programa
informático, cuya función consiste en
interpretar órdenes, y un lenguaje de
programación de consola. Está basado en la
shell de Unix y esta integrado en todas las
distribuciones de Linux, existentes a la
fecha.
ESTRUCTURA DE UN
SCRIPT.
• Para empezar se debe contar con un editor de
texto, tenemos a disposición VI y NANO.
• Los archivos debemos guardarlos con extensión
.sh para que puedan ser ejecutados (o
interpretados) por el terminal.
• También es necesario dar permisos de ejecución,
mediante el comando sudo chmod 775 [Link]
ESTRUCTURA DE UN
SCRIPT.
• La primera línea debe ser la siguiente.
#!/bin/bash
• Esa Linea es Sagrada, sin ella nuestro
código no podrá ser leído ni interpretado por
la consola.
ESQUEMA SINTACTICO
MOSTRAR CONTENIDOS. DECLARAR VARIABLES.
PSEUDOCODIGO PSEUDOCODIGO
Mostrar “mensaje” numero=0
Mostrar variable o constante texto=“ ”
BASH BASH
ECHO “mensaje” declare -i num -> Variable con
Muestra un Mensaje numero entero.
ECHO $variable declare nom -> Variable con texto.
Muestra el Contenido de una NOTA : Declarar Variables es
Variable o Constante. opcional dentro de BASH.
LEER LA INFORMACION DE UNA VARIABLE
PSEUDO : Leer variable
BASH : read variable
EJEMPLO I
• Mostrar Mensaje y Contenido de una Constante
#!/bin/bash
curso=“CONECTIVIDAD Y REDES”
echo “BIENVENIDO AL” $curso
• Mostrar Mensaje y Contenido de una Variable.
#!/bin/bash
declare curso
echo “INGRESE CURSO”
read curso
echo “BIENVENIDO AL” $curso
EJEMPLO II
• Ingresar 2 numeros y obtener la suma de los números ingresados.
#!/bin/bash
declare -i n1
declare -i n2
declare -i suma
echo “Ingrese Primer Numero”
read n1
echo “Ingrese Segundo Numero”
read n2
suma=n1+n2
echo “La Suma es : “ $suma
EJEMPLO III
• Ingrese Nombre, Apellido y Edad de una persona. Debe mostrar
los datos ingresados.
#!/bin/bash
declare nombre
declare apellido
declare -i edad
echo “Ingrese Nombre “
read nombre
echo “Ingrese Apellido”
read apellido
echo “Ingrese Edad”
read edad
echo “ Los Datos Ingresados son : “ $nombre $apellido $edad
CONDICIONAL IF.
• La condicional IF, es utilizada para generar comparaciones
lógicas entre dos o mas elementos. Utilizando principalmente los
Operadores Relacionales y Conectores Lógicos.
• Operadores Relacionales y Conectores Lógicos.
> -gt MAYOR QUE
< -lt MENOR QUE
>= -ge MAYOR O IGUAL QUE
<= -le MENOR O IGUAL QUE
= -eq IGUAL QUE
!= o <> -ne DISTINTO QUE
&& Y
|| O
CONDICIONAL IF.
• SINTAXIS BASICA.
• if [ expresión de comparación]
then ->QUE HACER SI SE CUMPLE
else -> QUE HACER SI NO SE CUMPLE
fi
EJEMPLO IV
• Verificar si existe un grupo en el Sistema.
#!/bin/bash
declare grupo
echo “INGRESE GRUPO A BUSCAR”
read grupo
if grep –qi “^$grupo” /etc/group
then echo “EL GRUPO $grupo, EXISTE”
else echo “EL GRUPO $grupo, NO EXISTE”
fi
EJEMPLO V
• #!/bin/bash
declare usuario
echo “INGRESE USUARIO A BUSCAR”
read usuario
if grep –qi “^$usuario” /etc/passwd
then echo “EL USUARIO $usuario, EXISTE”
else echo “EL USUARIO $usuario, NO EXISTE”
fi
EJEMPLO VI
• Verificar, si una interfaz de red esta por ip estática.
• #!/bin/bash
declare nic
echo “INGRESE NIC a VERIFICAR”
read nic
if grep –qi “^bootproto=none” /etc/sysconfig/network-
scripts/”ifcfg-$nic”
then echo “TARJETA CON IP ESTATICA”
else echo “TARJETA CON DHCP”
fi
CICLO CASE
• El Ciclo CASE, es una secuencia interactiva
en la cual el usuario, puede interactuar
mediante el manejo de opciones, generadas
por una variable declarada para dicha
acción.
CICLO CASE.
• SINTAXIS BASICA.
• case $variable in
1) acción;;
2) acción;;
3) acción;;
*) en caso que no exista la opción;;
esac
EJEMPLO VII
• Crear un menú con 3 opciones.
• #!/bin/bash
echo “1 – MOSTRAR MENSAJE”
echo “2 – MOSTRAR MENSAJE”
echo “3 – SALIR”
echo “INGRESE OPCION 1-3”
read opción
case $opcion in
1) echo “OPCION 1”;;
2) echo “OPCION 2”;;
3) break;;
*) echo “OPCION INVALIDA”;;
esac
EJEMPLO VIII
• Crear un menú con 3 opciones con retorno.
#!/bin/bash
while:
do
echo “1 – MOSTRAR MENSAJE”
echo “2 – MOSTRAR MENSAJE”
echo “3 – SALIR”
echo “INGRESE OPCION 1-3”
read opción
case $opcion in
1) echo “OPCION 1”;;
2) echo “OPCION 2”;;
3) break;;
*) echo “OPCION INVALIDA”;;
esac
done