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

DOM4J: Creación de archivos XML

DOM4J es una de las librerías para java más populares para el trabajo con XML ya que nos permite crea, editar y leer doc[...]

Gestión de productos – El modelo (Parte 4)

En la estructura del proyecto, nuestro modelo mvc esta compuesto por tres paquetes, la vista, el modelo y controlador. L[...]

Uso de BorderPane

BorderPane es un layout que distribuye los nodos hijos en 5 posiciones TOP, LEFT, BOTTOM, RIGHT y CENTER Los nodos hijos[...]

Leer Código QR desde un archivo de imagen

Los códigos QR del inglés Quick Response Code o código de respuesta rápida es un tipo de código para el almacenamiento d[...]

Matriz de Adyacencia: Representación de grafos en Java

En este post conoceremos una forma de representar grafos mediante una Matriz de Adyacencia y un ejemplo básico de este e[...]

Crea App multilenguaje con Android Studio

En este post aprenderemos los pasos básicos para construir una aplicación android con soporte multilenguaje, utilizaremo[...]