Shell

UNIDAD 1 - INTRODUCCION



* INTRODUCCIÓN A SHELL PROGRAMMING

* Como escribir un Shell

* VARIABLES

* Variables del sistema – Creadas y mantenidas por el propio Linux.

* Variables del sistema

* Variables definidas por el usuario – Creadas y mantenidas por el usuario.

* Reglas de nombres de variables

* Opciones

* SHELL EXPRESIONES ARITMÉTICAS

* Parámetros de sustitución

* EXIT STATUS

* La variable READ

* Mas comandos en una sola línea.

* Procesamiento de la linea de comandos

* Por qué la línea de comandos requiere argumentos

* REDIRECCIÓN DEL STANDARD OUTPUT/INPUT

* El símbolo >

* El simbolo >>

* El simbolo <

* PIPES





FILTROS



* FILTROS - BÁSICOS

* Grep

* Tail

* Sort

* Tr

* Comm

* FILTROS - AVANZADOS

* Grep

* Egrep o grep -E y fgrep o grep -F





PROCESOS



* ¿QUE ES UN PROCESO?

* Comandos Linux relacionados con Procesos

* ESTRUCTURAS DE LENGUAJE BASH





PROGRAMACIÓN



* CONDICIONANTES (IF, TEST)

* IF...ELSE...FI ANIDADOS

* IF-THEN-ELSE MULTINIVEL

* Test

* BUCLES EN SHELL SCRIPTS

* Bucle while

* CASE

* EL COMANDO SHIFT

* DEBUGGING SHELL SCRIPTS





SHELL AVANZADO



* COMANDO EXPORT

* EJECUCIÓN CONDICIONAL (&& Y ||)

* FUNCIONES

* INTERFACE DE USUARIO

* Dialog

* COMANDO TRAP



-------------------------------------------------------------------------------





En la actualidad existen varios tipos de shell, las cuales serian las siguientes.



* Bash, llamada por sus siglas, Bourne Again SHell

* Sh, que viene de Bourne Shell

* Ksh, de las palabras Korn SHell

* Csh, de C Shell

* Ash, que viene siendo un clon al Bash



Para saber que tipo de Shell estamos usando abriremos una terminal o consola en linux, y escribiremos lo siguiente.



echo $SHELL



Para cambiar el tipo de Shell que se esta usando es con el comando



chsh


--------------------------------------------------------------------------------------

-----------------------------------------

#!/bin/sh
# Este script conecta a servidores por ssh
clear
echo "Loguaer server por ssh"
sshpass -p 'srv$server$' ssh root@192.168.131.35
--------------------------------------------------------

clear
echo “MENU”
echo “====”
echo “1. SSH Dns Ftp Proxy .”
echo “2. SSH Gateway .”
echo “3. MYSQL PHP .”
echo “4. Egroupware.”
echo “5. Firewall .”
echo “6. Obtener Password.”
echo “Elige opción”
read entrada1
case $entrada1 in
1)
/home/mnigro/35.sh
;;
2)
/home/mnigro/90.sh
;;
3)
/home/mnigro/37.sh
;;
4)
/home/mnigro/36.sh
;;
5)
/home/mnigro/sshglobal.sh
;;
6)
/home/mnigro/pass.sh
;;
esac

-----------------------------------------------------------------------------------------
El comando clear (primera linea), limpia la pantalla. El

comando “echo” muestra lo que escribamos a continuación entre comillas dobles.

el comando “read”.

Este, lee la respuesta del usuario, y la guarda como la variable: entrada1

estructura “case”. Esta, permite realizar de una forma bastante sencilla, varios if anidados. La

estructura if fi, consiste en evaluar condiciones: “si tal cosa es de tal forma, entonces haz esto.

En caso contrario esto otro”. Mediante “case” nos ahorramos bastante texto. La sintaxis es la

que se puede ver en el ejemplo. Empieza por case “$variable” in. Luego, en la siguiente linea:

1) Es para referirse al valor: 1 , que en este caso es “iniciar Kde”. El resto son las entradas para

los demás escritorios. Cada una de ellas termina obligatoriamente con los caracteres: ;;

Finalmente, para cerrar la estructura se escribe: esac, que no es otra cosa sino case, escrito al

revés.

-----------------------------------------------------------------------------
#!/bin/bash

clear

echo "Bienvenidos a GnuTrivial."

sleep 2

echo "Soy el típico juego de preguntas y respuestas."

sleep 2

echo "Si aciertas todas las preguntas, te concedere el titulo de magister del universo."

echo "¿Como se llamaba el ultimo emperador Romano de occidente, claudio, teodosio

o romulo."

read respuesta1

if test $respuesta1 = romulo

then

echo "Respuesta correcta."

else

echo "Lo siento, la respuesta correcta es: romulo."

fi

sleep 2

echo "Pasemos a la siguiente pregunta. ¿Qué célebre filosofo Griego tuvó por discipulo

a Alejandro Magno, platón, aristoteles o zenon?"

read respuesta2

if test $respuesta2 = aristoteles

then

echo "respuesta correcta."

else

echo "Lo siento, la respuesta correcta es: Aristoteles."

fi

if test $respuesta1 = romulo

test $respuesta2 = aristoteles

then

echo "Eres un pequeño magister del universo."

fi



if fi. El programa conoce la respuesta correcta y evalúa la respuesta del usuario. Si

acierta una pregunta se lo dice y pasa con la siguiente pregunta.


Como puede apreciarse, la estructura if fi, y la estructura case hacen cosas bastante similares.

Llevan a cabo una acción en función de un valor del usuario. En general, case se considera una

evolución de if fi

Comentarios