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
* 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