InicioLinuxAprende un poco de Shell Script!

SHELL SCRIPT




Un Shell Script o un Bash Script no es mas que un archivo de texto-plano que
contiene comandos del shell. Pueden ser ejecutados escribiendo su nombre a una shell, o
poniendo su nombre en otro script de shell.

Para que sea ejecutable, un shell script tiene que cumplir algunas condiciones:
• El archivo debe tener escrito en su primera linea, en este caso:
#!/bin/bash
• En caso de que no funcione, entonces ahi que encontrar el ejecutable del Bash
shell y sustituir la localidad anterior(/bin/bash). Esta es una forma de encontrarla:
$whereis bash
• Luego de esto, el archivo debe de hacerse ejecutable, cambiando sus permiso.
$chmod +x nombre_del_script
• El nombre de un archivo Shell Script opcionalmente debe de estar identificado
por el sufijo “.sh”. Esto solo ayuda a identificar el archivo.
• Normalmente se ejecuta el shell script de la siguiente manera:
$./nombre_del_script.sh
• Otra forma de ejecutarlo es la siguiente:
$sh nombre_del_script.sh


Primer Script
Los siguientes pasos lo guiaran a escribir y ejecutar un script simple:
1. Abra un editor de texto. En este caso usaremos VI:
$vi nombre_script.sh
2. Escriba las siguientes lineas:
#!/bin/bash
echo “Mi primer script TARINGERO”
3. Guarde el archivo.
En vi: Presione Esc, escriba “:wq” (sin las comillas), presione Enter
4. Desde la linea de comando, ejecute lo siguiete para darle permiso de ejecucion:
$chmod +x nombre_script.sh
5. Para ejecutarlo, escriba lo siguiente:
$./nombre_script.sh
Script con Condicion
Para condiciones, podemos usar lo que es if...then...else...fi.
Teniendo en cuenta los pasos que estan en la primera pagina, hacer un script con
las siguientes lineas:
if [ -e . ]
then
echo “Se encontro el archivo.”
else
echo “No se encontro el archivo.”
fi
Este script, no hara mas que, verificar si se encuentra “ . ” en el directorio actual
[ -e .], que viene siendo lo mismo que “ test -e . ”(sin las comillas). Puede sustituir “ . ”
por otro nombre y asi verificar si este existe. Para mas informacion sobre como usar test
o [ ] vease el manual del comando test:
$man test

Mas Scripts

Las variables, en shell scripts, se pueden declarar de la siguiente manera:
variable=10
Luego para usar la variable debe escribir $ y luego el nombre de la variable, para que el
shell pueda identificar que es una variable. Ej:
$variable
Script 1:
Teniendo en cuenta lo anterior, realizar un script con las siguientes lineas:
var=10
while [ $var -gt 0 ]
do
echo $var
let var--
sleep 1
done
En estas lineas, lo que hicimos fue, declarar una variable y asignarle un valor, y
decirle al shell que mientras( while ) la variable sea mayor que 0 ( [ $var -gt 0 ]), imprima
la varibale, y le reste 1. Tambien le digimos que se pare cada segundo ( sleep 1 ).
Script 2:
Realizar un script con las siguientes lineas:
nombre=“”
echo “Escriba su nombre:”
read nombre
echo $nombre estudia en la FCLD.
En las lineas anteriores, utilizamos “ read ” para leer una linea y guardamos este
valor en la variable nombre ( read nombre ), luego lo imprimimos junto con “estudia en la
FCLD. ”( echo $nombre estudia en la FCLD. ).
Arreglos o matrices y for en Shell Script

Los arreglos de shell son relativamente facil de construir.
Ejemplo:
arreglo=(Francisco Jose Henry Christian Anthonio)
Con la linea anterior hicimos un arreglo con los nombres Francisco, Jose, Henry,
Christian y Anthonio.
Realizar un script con las siguientes lineas:
nombres=(Jose Henry Christian Gerardo Nathaniel Francisco)
nombre=""
var=5
echo "Introducir nombre, para verificar si es miembro de la FCLD:"
read nombre
for n in {0..5}
do
if test "${nombres[n]}" = "$nombre"
then
let var++
else
let var--
fi
done
if [ $var = 1 ]
then
echo $nombre es miembro de la FCLD.
else
echo $nombre no es un miembro de la FCLD.
fi
Este script no hara mas que verificar si el nombre introducido( read nombre ), se
encuentra en el arreglo ( if test "${nombres[n]}" = "$nombre" ). El for no hace mas que
contar del 0 al 5, esto nos ayuda a poder recorrer el arreglo.


Mi primer Post, por favor dejen feedback! Gracias de antemano!
No puse imagenes, porque creo que no es necesario para shell scripting...

Dudas, aclaraciones y preguntas? Adelante!



Pueden encontrar mas tutoriales y how-to's en http://www.codigolibre.org
Fundacion Codigo Libre Dominicana
Datos archivados del Taringa! original
52puntos
5,130visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

f
fjavier5152🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.