Mi primer programa de shell
como todos sabemos una shell es una linea de comandos o mas bien dicho un interprete de comandos que usamos a diario para hacer todo tipo de tareas administrativas, obviamente bajo sistemas UNIX (basados en Unix), algunas tareas sencillas como montar una unidad, configurar una interfaz ( interface ) de red, hacer cosas mas avanzadas como port scanning etc, son tareas que podemos hacer por medio de nuestra ya mencionada shell; algunas de estas tareas podrían ocurrir al iniciar el sistema pero no siempre es la mejor opcion o la que nosotros deseamos, para quienes vivimos este caso en el que al iniciar nuestro S.O. Comenzamos a usar una larga lista de comandos como montar la unidad de datos o en otras ocasiones la unidad de proyectos o cosas así por el estilo, esto a veces se puede volver tedioso y quitarnos un poco de tiempo mientras lanzamos los comandos , pero que mejor que lanzar un solo comando y hacer todo el proceso de manera mas amigable, pues bien esa opción también nos la da nuestra querida shell ya que esta a su vez también funciona como un completo lenguaje de programación. ¿Pero como funciona este lenguaje? Si nos vamos a una terminal y digitamos date nos daria un resultado como:
/home/usuario$ date
mié sep 2 22:48:38 COT 2009
Bien ahora escribamos el mismo comando en un archivo de texto, para ello hacemos lo siguiente:
$vi miarchivo
presionamos a para comenzar a escribir en el editor de texo
escribimos date
presionamos esc para volver a modo comando en el vi
presionamos ZZ para salir del vi y guardar los cambios.
(el archivo lo podemos crear con cualquier editor de texto como el gedit, kate etc)
para comprobar que si quedo bien el archivo ejecultamos el comando
$cat miarchivo
nos debera devolver un resultado como:
/home/usuario$ cat ejemplo
date
Ahora vamos a darle permisos de ejecucion a nuestro script, para ello ejecutamos el comando :
/home/usuario$chmod +x miarchivo
Ahora vamos a ejecutar el archivo llamandolo por su nombre y anteponiendo “./” de la siguiente manera:
/home/usuario$./miarchivo
y veremos como nos da el resultado:
/home/usuario$./miarchivo
mié sep 2 22:57:33 COT 2009
Hemos visto como podemos llamar un comando desde un script en un archivo de texto plano, solo con escribir el comando en el archivo. Las posibilidades son enormes y podemos hacer una secuncia de archivos completa, escribir resultados en una caja de texto, la sitanxis es muy similar a cualquier lenguaje, podemos usar condiciones if, ciclos como while, y un sin fin de opciones, algun ejemplo de sintaxis para una condicion:
if condicion; then
comandos;
[elif otra_condicion; then
comandos;]
[else comandos(en caso contrario);]
fi
Para conocer mas a fondo la sintaxis y las posibilidades que tenemos podemos consultar la guia oficial haciendo click aqui.
Para terminar quiero dejarles un ejemplo de un sencillo script que nos permite configurar una interface de red, el router y el DNS. de esta forma pueden abrir sus mentes y darse cuenta que con esto podemos hacer un sin numero de cosas.
echo «iniciando la configuracion de la red»;
echo «Ingresa la direccion IP que asignaras a la interface»;
read ip;
echo «Ingresa la direccion de mascara para la interface de red»;
read mask;
echo «Ingresa la IP del router» ;
read gw;
echo «Ingresa el direccion del DNS»;
read dns;
echo «haz ingresado la direccion IP $ip , la mascara $mask el DNS $dns y el router $gw, Presiona enter para terminar.» ;
read cont;
ifconfig eth0 $ip
ifconfig eth0 netmask $mask
route default gw $gw eth0
cd /etc/ echo «nameserver $dns» >> resolv.conf
Entradas relacionadas
-
Como crear una imagen ISO de un CD/DVD desde la consola
1 comentario | Jul 16, 2012
-
Convertir maquina virtual de VMWARE a XEN
1 comentario | Abr 26, 2010
-
Instalando Open Fire, Parte 1
No hay comentarios | Abr 29, 2009
-
Habilitar logging en Irssi
No hay comentarios | Ene 19, 2011
@Axia muchas gracias por el aporte… recuerda que las puertas de Rincon Informatico siempre estan abiertas, para que publiques todos tus buenos conocimientos…..
Muchas gracias!!
@Epsilon para eso estamos, espero que sea de utilidad para muchas personas y gracias a ustedes por permitirme postear en Rincon, saludos a @Spider