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

Programación Shell: Estructuras de control

Programación Shell: Estructuras de control

Las estructuras de control de Shell son muy parecidos a otras lenguajes de programación. Las estructuras disponibles en...

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

En este post hablaremos sobre la biblioteca de Apache PDFBox el cual es una herramienta para java de código abierto que...

Animaciones básicas con Pygame

Animaciones básicas con Pygame

En tutoriales pasados creábamos demasiadas líneas de código en el mismo lugar para dibujar en la pantalla, cosa que nos...

Servicio Web SOAP en Java

Servicio Web SOAP en Java

En este post vamos a construir un Servicio Web bajo el protocolo SOAP (Simple Object Access Protocol) el cual básicament...

Insert, Update, Delete con Access y C#

Insert, Update, Delete con Access y C#

En un post anterior vimos la forma de conectarnos a una base de datos Access con C#, pero de nada nos sirve solo conecta...

Subir imagen a un servidor web con REST/JSON

Subir imagen a un servidor web con REST/JSON

En este tutorial crearemos una sencilla aplicación para android que nos permitirá subir una imagen a un servidor web. La...

Comparte lo que sabes

Categorias

Últimas entradas

Existe una gran cantidad de contenido sobre productividad, trucos, consejos y trabajo y más. Pero, ¿Qué pasa con esos mo...

En este post te enseño a usar una herramienta de Inteligencia Artificial para animar tus fotografias y esto completament...

Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

Herramientas

Generador de Enlaces a Whatsapp