Etiquetas

lunes, 26 de julio de 2010

Tutorial: Linux Shell Scripts Basico 1 (bash)

Antes que nada empecemos viendo algunas definiciones basicas.
En primera, ¿que es un shell?? Según la wikipedia un shell se define como:


 En informática, el término Shell se emplea para referirse a programas que proveen una interfaz de usuario para acceder a los servicios del sistema operativo. Estos pueden ser gráficos o de texto simple, dependiendo del tipo de interfaz que empleen. Los Shells están diseñados para facilitar la forma en que se invocan o ejecutan los distintos programas disponibles en el computador.
En otras palabras, un shell es como un traductor de comandos para las computadoras, ya que las computadoras solo entienden el binario.  El shell permite que le escribamos los comandos de una manera que sea mas fácil de comprender para nosotros y se los traduce a la computadora para que los efectúe correctamente.


 Entonces ¿que es un Shell script?

Son archivos de texto, que contienen los comandos a ser ejecutados por el sistema. Aunque muchas veces que nos referimos a un Shell Script pensamos que es exclusivo de Linux, también hay en Windows y el mas común es el MS-DOS. En este tutorial vamos a ver el bash(Bourne-Again SHell) porque es el más común en Linux.

¿Cuáles son los usos  de un shell-script?

Los usos que le podrias dar son:


  • Automatizar algunas acciones que realizas frecuentemente en tu computadora
  • Crear tus propias herramientas, o modificar algunas que encuentres en internet
  • Crear algunas aplicaciones sencillas
¿Cuáles son las ventajas de usar shell scripts?
Las principales ventajas que tendrías con los shell scripts son:


  • Ahorras tiempo
  • Es fácil de utilizar
¿Cómo sé sí mi versión de Linux tiene el bash?
Bueno los que ocupan Ubuntu si lo tienen y es el de default.
Los demás tienen que abrir la Terminal y escribir:


cat /etc/shells
Eso les mostrara una lista con todos los shell que tienen disponibles.




Ahora chequemos los comandos que vamos a ver en este tutorial




COMANDO*¿Que hace?
echo "texto"muestra en pantalla el texto entre comillas
read -p "texto" aPide al usuario que introduzca un valor para una variable(en este caso 'a')
print **lo mismo que 'echo'
#Cualquier cosa que este escrita despues de esto sera omitida
* La tabla solo muestra 
** Hace lo mismo, pero como es mas fácil de ocupar 'echo' para lo que vamos a ver en este tutorial, no lo usamos

Bueno creo que ya es demasiada teoría, ahora pasemos a la practica:

Script 1:Un script que dice hola

1.-Para hacer este script primero abrimos la terminal y escribimos "gedit hola.sh"(esto hará que se cree un archivo llamado hola.sh)
2.-En la ventana que se abre escribimos lo siguiente:



#!/bin/bash
#La linea de arriba indica que es un script bash
echo "Hola" #Esto hace que aparesca Hola en la terminal cuando lo ejecutamos
3.- Lo guardamos y cerramos
4.-Ahora tenemos que modificar sus derechos para poder ejecutarlo(si no modificamos los derechos no vamos a poder ejecutarlo desde la terminal). Esto lo hacemos escribiendo lo siguiente en la terminal:



chmod +x hola.sh
5.- Ahora lo ejecutamos escribiendo:


./hola.sh



Script 2: Un script que sume 2 números


1.-En la terminal escribimos "gedit suma.sh"
2.-Escribimos lo siguiente


#!/bin/bash
#Declaramos las variables
n1=5
n2=3
ans=$(( n1 + n2 ))
echo $n1 + $n2 = $ans #El símbolo '$' es para indicar que es una variable
3.-Guardamos, cerramos y ejecutamos como vimos en es script anterior





Script 3: Un script que reste 2 números que tu ingreses

1.- Creamos un archivo que se llame resta.sh
2.- Escribimos lo siguiente:



#!/bin/bash
n1= #Los dejamos vacios porque nosotros vamos a ingresar los valores
n2=
read -p "Introduce numero 1:" n1 #Fíjense que aquí no lleva el símbolo $
read -p "Introduce numero 2:" n2 #El texto que esta entre comillas va a aparecer
n3=$(( n1 - n2 ))
echo $n1 - $n2 = $n3
read -p "Presiona [Enter] para continuar..." fakeEnterKey

#fakeEnterKey hace que el script espere a presionemos [Enter]
3.- Guardamos, cerramos y ejecutamos

¿QUE APRENDIMOS EN ESTE TUTORIAL?



  • Que es un shell y un shell script
  • Como declarar variables
  • Como utilizar los comandos echo y read
  • Como crear un script
  • Como cambiar los permisos en un script
  • Como saber los shells que tienes disponibles en tu versión de Linux
Sigue leyendo