Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Ingenieria de Sistemas / Introduccion a la programacion shell

Introduccion a la programacion shell

Autor jc mouse jueves, diciembre 1, 2016

En este post veremos una muy pequeña introducción de lo que es el mundo de la programación en shell de Linux.

Necesitamos:

  • Ubuntu linux
  • Editor Nano, Le o gedit
  • Conocimientos básicos sobre comandos linux

¿Que es la shell en Linux?

La shell o caparazón, es la interfaz entre el usuario final y el Sistema Operativo. Es decir que gracias a esta shell el usuario puede comunicarse con el núcleo de Linux mediante comandos, ejecutar ordenes o herramientas y obtener un resultado.

Existen multiples versiones de shell, la más conocida y usada es “bash” (Bourne Shell – sh) y es la que usaremos en este tutorial.

Para saber que shell tenemos como predeterminado en nuestro S.O., en una terminal escribimos “echo $SHELL” y presionamos enter.

linux shell

Para saber que shells tenemos en nuestra maquina usamos el comando: cat /etc/shells

Para cambiar de shell usamos: chsh -s /bin/bash

Shell Programming o Shell Scripting

El proceso de escribir scripts se llama Programación Shell o Shell Programming, un script no es más que una secuencia de comandos almacenados en un archivo. Este archivo o script no se compilan, sino que un interprete lee las instrucciones del fichero y las ejecuta secuencialmente.

MI PRIMER PROGRAMA: Hola Mundo

Paso 1. Crear script

Con nuestro editor favorito creamos un archivo llamado “hola.sh”  y después lo abrimos con un editor de texto

touch hola.sh

nano hola.sh

Paso 2. Código

En el archivo creado escribimos:

hello bash

La primera linea le dice a Linux que se debe utilizar el interprete bash

La segunda linea es un comentario, el interprete no lo toma en cuenta, sirve de guía para el programador

La tercera linea es el comando a ejecutar (echo : Muestra una linea de texto)

Paso 3. Permisos

El archivo tal cual esta, no podrá ser ejecutado, antes debemos hacer este script ejecutable con el siguiente comando:

chmod 700 hola.sh

Con este comando le otorgamos al script “hola.sh” los permisos de escritura, lectura, y ejecución para el usuario propietario del mismo.

Paso 4. Ejecución

Para ejecutar el script escribimos el comando:

./hola.sh

y veremos en consola, nuestro mensaje “Hola Mundo”

VARIABLES

Las variables de shell se comportan de forma similar a como lo hacen las variables en otros lenguajes de programación. Por convención las variables se escriben en minúsculas.

Para asignar valor a una variable se realiza de la siguiente forma: nombre_variable=valor_variable

Para recuperar el valor de una variable, se antepone el símbolo “$” antes del nombre.

Por ejemplo podemos emplear una variable en nuestro script hola.sh, el cual queda de la siguiente forma:

bourne shell

y si lo volvemos a ejecutar, obtendremos el mismo resultado.

READ

El comando read se utiliza para solicitar un valor de entrada y guardarlo en una variable.

Opciones

  • read –s (no hace echo de la entrada)
  • read –nN (acepta sólo N caracteres de entrada)
  • read –p “mensaje” (muestra un mensaje)
  • read –tT (acepta una entrada por un maximo d T segundos)

Crea un nuevo script “hola2.sh” y escribe el siguiente código:

leer linux

Al ejecutarlo, se te solicitara tu nombre, escribe y presiona enter.

scripts en linux

COMILLAS

Abra notado que al principio del post, se uso comillas simples (‘…’) para limitar las cadenas de texto, pero luego usamos comillas dobles (“…”) ¿porque?. Este se debe a que las comillas en linux shell tienen un propósito diferente. A saber:

  • ‘…’ Comillas Simple: Almacenan y muestran una cadena de caracteres de forma literal sin resolución de variables.
  • “…” Comillas dobles: Ademas de almacenar cadena de caracteres, resuelven las variables antes de mostrarlas en pantalla.
  • `…` Comillas invertidas: Sirven para sustituir comandos, es decir, los comandos que estén dentro de las comillas invertidas, serán pasados al comando que los precede. Las comillas invertidas pueden reemplazarse por $()

Ejemplo. comillas.sh

comillas

Y obtendremos como resultado:

Los caracteres son interpretados como tal. $variable
el valor de mi variable es 123
me encuentro en el directorio /home/jc y la fecha es 11/30/16

OPERADORES MATEMÁTICOS

  • + suma
  • – resta
  • * multiplicación
  • / división
  • ** exponenciación
  • % módulo

EVALUAR EXPRESIONES MATEMÁTICAS

Para evaluar expresiones matemáticas contamos con las siguientes opciones:

let

let x=5+5*5
echo $x
30

expr

y=`expr 5 \* 4 + 8`
echo $y
28

cuando usamos expr, se debe hacer uso de espacios entre cada símbolo matemático y numero, en la opción de multiplicación, se debe hacer uso de la barra invertida “\*” , sino nos dará error. Este comando, solo admite y devuelve enteros.

$[] y $(())

x=$[123+321]
y=$(($x-111))
echo $x ; echo $y
444
333

Ejemplo: matemata.sh

matematicas

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

base de datos multiple – parte II

base de datos multiple – parte II

Continuación del tutorial “Utiliza 2 bases de datos diferentes en una aplicación” La Interfaz frmSelected.ja...

CRC32: Verificación de Redundancia Cíclica

CRC32: Verificación de Redundancia Cíclica

El CRC o Verificación de Redundancia Cíclica o Comprobación de redundancia cíclica  es una técnica utilizada para detect...

Facturación electrónica: El Código de Control

Facturación electrónica: El Código de Control

¿Que es la facturación electrónica? Una factura es un documento que sirve para describir el costo de los servicios y des...

CORBA en java .:. Ejemplo completo

CORBA en java .:. Ejemplo completo

Common Object Request Broker Architecture (CORBA) es un estándar que permite que diversos componentes de software escrit...

Fragmentos dinamicos y eventos de usuario

Fragmentos dinamicos y eventos de usuario

Continuando con los tutoriales sobre fragmentos en android, en esta oportunidad veremos como añadir Fragments dinámicame...

Pruebas Unitarias con PHPUnit

Pruebas Unitarias con PHPUnit

PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo fácilmente...

Comparte lo que sabes

Categorias

Últimas entradas

La misión espacial de la NASA, el Mars  2020 Rover Mission esta proyectada para lanzarse en julio de 2020 y su llegada s...

El reconocimiento óptico de caracteres o OCR (Optical Character Recognition), es un proceso dirigido a la digitalización...

imgclip es una pequeña herramienta de línea de comandos el cual se ejecuta desde la terminal para Mac, Windows y Linux....

Alda es un lenguaje de programación desarrollado por Dave Yarwood el cual esta basado en texto para composición musical,...

Android Bolivia

MAUS