PASOS PARA CREAR UN SCRIPTS EN SHELL DE LINUX
Enviado por milena9842 • 10 de Abril de 2015 • Síntesis • 2.089 Palabras (9 Páginas) • 210 Visitas
PASOS PARA CREAR UN SCRIPTS EN SHELL DE LINUX
El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales, incorporan sentencias de control de flujo, sentencias de asignación, funciones, etc.
Los programas de shell no necesitan ser compilados como ocurre en otros lenguajes. En este caso, el propio shell los ejecuta línea a línea. A estos programas se les conoce con el nombre de shell scripts y son los equivalentes a los archivos por lotes de otros sistemas operativos.
Pasos:
1. Crear un archivo de texto con el editor vi con extensión .sh. Este archivo contendrá las órdenes que el shell va a ir interpretando y ejecutando. Ejemplo script.sh
2. Ejecútelo con ./script.sh si no funciona es porque la extensión sh no es lo que hace que sea ejecutable. Para que se pueda ejecutar tenemos que darle permisos de ejecución.
3. Asignar permisos de ejecución al archivo creado, utilizando la orden chmod.
$ chmod +x script.sh. Ahora si es ejecutable!!!.
4. Ejecutar el script generado pasándole los parámetros necesarios ./shell_script param1 param2
Recomendaciones:
1. La primera línea de cada script debe contener:
#!/bin/bash en LINUX
#!/bin/sh en UNIX
2. Una línea de comentarios debe comenzar con el carácter # . Estos comentarios no se verán en pantalla cuando se ejecute el script.
3. Para mostrar comentarios que luego veremos por pantalla, se utilizará el comando echo
4. Cuidado: si dejamos espacios entre el = y el identificador o el valor el shell creerá que son comandos a ejecutar y no la asignación de una variable.
PASO DE PARÁMETROS A UN PROGRAMA DE SHELL
A menudo queremos que nuestros programas de shell reciban parámetros desde la línea de órdenes para hacerlos más versátiles. Estos parámetros son lo que se conoce como parámetros de posición. Los parámetros de posición se pueden usar dentro de un programa de shell como cualquier otra variable de shell; es decir, para saber su valor utilizaremos el símbolo $. Los parámetros dentro del shell script son accesibles utilizando las variables:
$0 Representa al parámetro cero o nombre del programa
$1 Representa al parámetro uno
$2 Representa al parámetro dos
…
$9 Representa al parámetro nueve
${10} Representa al parámetro diez
${11} Representa al parámetro once …
Ejemplo1:
#!/bin/bash
echo El nombre del programa es $0
echo El primer parámetro recibido es $1
echo El segundo parámetro recibido es $2
echo El tercer parámetro recibido es $3
echo El cuarto parámetro recibido es $4
ALGUNAS VARIABLES ESPECIALES DEL SHELL
$# Número de parámetros que han pasado a la shell.
$* Un argumento que contiene todos los parámetros que se han pasado ($1, $2...) menos el $0.
$? Número donde se almacena el código de error del último comando que se ha ejecutado.
$$ Número de proceso actual (PID)
$! Último número de proceso ejecutado.
Ejemplo2:
#!/bin/bash
echo El nombre del programa es $0
echo El número total de parámetros es $#
echo Todos los parámetros recibidos son $*
echo El primer parámetro recibido es $1
echo El segundo parámetro recibido es $2
echo El tercer parámetro recibido es $3
echo El cuarto parámetro recibido es $4
shift
Sintaxis: shift n
Esta orden se utiliza para desplazar los argumentos, de manera que $2 pasa a ser $1, $3 pasa a ser $2, y así sucesivamente (esto si el desplazamiento n es igual a 1). Es muy utilizada dentro de los bucles.
Ejemplo3:
#!/bin/bash
#Este script se llama ej_shift2
echo El nombre del programa es: $0
echo El número total de parámetros es: $#
echo Todos los parámetros recibidos son: $*
echo El primer parámetro recibido es: $1
echo El segundo parámetro recibido es: $2
echo El tercer parámetro recibido es: $3
echo El cuarto parámetro recibido es: $4
shift 2
echo Ahora el parámetro \$1 vale: $1
echo Ahora el parámetro \$2 vale: $2
echo Ahora el parámetro \$3 vale: $3
echo Ahora el parámetro \$4 vale: $4
echo El número total de parámetros es: $#
echo Todos los parámetros recibidos son: $*
Mostrará el siguiente resultado:
$./ej_shift2 uno dos tres cuatro cinco seis
El nombre del programa es: ./ej_shift2
El número total de parámetros es: 6
Todos los parámetros recibidos son: uno dos tres cuatro cinco seis
El primer parámetro recibido es: uno
El segundo parámetro recibido es: dos
El tercer parámetro recibido es: tres
El cuarto parámetro recibido es: cuatro
Ahora el parámetro \$1 vale: tres
Ahora el parámetro \$2 vale: cuatro
Ahora el parámetro \$3 vale: cinco
Ahora el parámetro \$4 vale: seis
El número total de parámetros es: 4
Todos los parámetros recibidos son: tres cuatro cinco seis
La orden shift desplaza todas las cadenas en * a la izquierda n posiciones y decrementa # en n. Si a shift no se le indica el valor de n, por defecto tomará el valor 1. La orden shift no afecta al parámetro de posición 0 o nombre del programa.
read
Sintaxis: read variable (s)
La orden read se usa para leer información escrita en el terminal de forma interactiva. Si hay más variables en la orden read que palabras escritas, las variables que sobran por la derecha se asignan a NULL. Si se introducen más palabras que variables haya, todos los datos que sobran por la derecha se asignan a la última variable de la lista.
Ejemplo4:
#!/bin/bash
#script ej_read
#La opción –n se emplea para evitar el retorno de carro
echo –n “Introduce una variable: “
read var
echo La variable introducida es: $var
Ejemplo5:
#!/bin/bash
#script ej_read_var que lee varias variables con read
echo –n “Introduce las variables: “
read var1 var2 var3
echo Las variables introducidas son:
echo var1 = $var1
echo var2 = $var2
echo var3 = $var3
Si
...