Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Ingenieria de Sistemas / Introduccion a la programacion shell

Introduccion a la programacion shell

Por 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

Artículos similares

Gestión de Stock – La Vista (Parte 3)

En esta tercera parte del tutorial crearemos la interfaz de usuario GUI (VISTA) para el sistema de gestión de stock. Tom[...]

Distribución de escaños con el método D’Hondt caso práctico (Bolivia)

El sistema D’Hondt creado por el jurista belga Victor d’Hondt en 1878, es un método de promedio mayor para a[...]

Proteger documento PDF con contraseña y limitar permisos desde Java

Los archivos digitales (txt, docx, xlsx, odt, odp, pdf, etc) nos permiten almacenar información el cual en ocasiones, de[...]

Descargar Doodle Google Pacman

Hace un par de años atras google para el aniversario del juego de Pacman saco un doodle en su homenaje, ese doodle que s[...]

Minimizar aplicación al SystemTray/Bandeja del Sistema

El SystemTray/Bandeja del Sistema o como también se le llama «Área de Notificación» es la sección de la barra de tareas[...]

Autenticación de usuarios bajo el patrón MVC

MVC es un patrón de arquitectura de software que separa una aplicación en tres componentes lógicos principales.  Estos s[...]