Alguno al leer el título de este
artículo estará pensando que script y fácil son palabras
antónimas. Eso no es necesariamente así, puede haber scripts
sumamente complejos, solo aptos para programadores, pero también
sencillos, para brutos como yo. Y esos son los que vamos a ver.
¿Y que utilidad tienen? Pues nosotros
vamos a utilizarlos para simplificarnos la vida en la consola, y
evitar teclear comandos larguísimos, en los que siempre nos comemos
algo. O para ese comando que siempre escribimos mal. Ademas, veremos
que la consola no es un monstruo negro lleno de letras, y en
ocasiones, tiene su utilidad. Ademas, cuando creas un script y te
funciona, te sientes como DIOS.
Pero lo primero, es lo primero. ¿Que
es un script? Pues simplificando mucho, es un ficherito de texto con
una serie de comandos metidos dentro y al que le damos permiso para
ejecutarse. De esta manera al ejecutar este fichero, se irán
ejecutando los comandos que contiene el ficherito..
Un ejemplo sencillo. Imaginemos un
script que no es más que el siguiente texto y que tiene permisos de
ejecución.
#!/bin/bash
# Un script de ejemplo
echo “Hola mundo”
Si ejecutamos este script, lo único
que hará sera mostrar en la pantalla el mensaje “Hola mundo”. No
es muy útil, pero nos sirve para explicar que hace y como:
La primera linea le indica al sistema
que es un script y que esta pensado para bash. Nosotros lo vamos a
poner siempre así, porque siempre vamos a crear scripts para bash,
pero también se pueden crear para python, o para cualquier otro
entorno.
La segunda linea es un comentario, para
que si más tarde editas el script, tengas orientación de que
hiciste y como. Es muy recomendable siempre poner comentarios para
que cuando editemos los scripts o los pasemos a otros, entiendan que
se hizo. Los comentarios son lo que hay en una linea después del #
La tercera linea es el comando en sí.
En este caso es solo uno y sencillito, pero podría haber miles y muy
enrevesados. Incluso podemos hacer que se ejecuten unos u otros según
alguna condición, y que se pasen datos entre ellos. Pero eso ya es
muy complicado para verlo aquí y ahora.
Bueno, pues vamos con la primera
utilidad de estos scripts ultrasencillos. Imagina que por algún
motivo utilizas el comando echo con frecuencia, pero siempre lo
escribes mal, algo así como eccho, o que te resulta difícil
recordar el comando o que prefieres escribir repite en vez de echo.
Pues creamos el siguiente script, que se llamara repite.
#!/bin/bash# Un script de ejemplo con variablesecho $1 $3 $2echo $2 $2
¿¡Qué es eso de las variables!? ¿Qué
es ese $1 $2 $3!? Tranquilo, que no es nada raro. Cuando escribes
algún comando en la consola, siempre sueles escribirlo con algún
parámetro, no sueles escribir ls, si no ls -l o ls -ah o algo así.
Pues nuestro a nuestro script le va a pasar lo mismo. Le vamos a
pasar parámetros. Y lo que haremos sera que cada cosa que escribamos
junto al nombre del script lo almacenaremos dentro de una variable,
que es un trozo de memoria con un nombre. Luego para utilizarlo,
usaremos la variable donde se guardo el parametro, que no es más que
$ y el número de orden del parámetro al escribirlo.
Pero vamos a verlo más claro usando
nuestro script de ejemplo. Supongamos que lo hemos llamado prueba y
que lo ejecutamos tal que así:
- ./prueba uno dos tres
El nos responderá
uno tres dosdos dos
Lo que ha hecho a sido coger cada
palabra después del nombre del script y guardarlo en variables
llamadas $1, $2, $3... Cuando luego ejecuta el comando echo por
primera vez, cambia el nombre de la variable por lo que había
guardado en ella. Así que es como si hubiéramos escrito
- echo uno tres dos
La segunda vez que se ejecuta echo
vuelve a cambiarse el nombre de la variable por lo que se ha guardado
en ella, así que ahora es como si hubiéramos escrito
- echo dos dos
Visto como funciona, ¿cual es la
utilidad? Pues por ejemplo, cambiar un comando del que nunca te
acuerdas por otro que te sea fácil recordar. Ademas, se vas a poder
pasar parámetros de igual manera que a ese comando endiablado que se
le resiste a tu memoria.
Otra utilidad es cuando un comando
tiene una serie incomprensible de parámetros, como por ejemplo el
que utilizábamos en este viejo artículo para ver videos en modocarácter.
Podemos crear un script llamado
videofriki que tenga el siguiente contenido
#!/bin/bash# Vamos a ver un video en formato texto# Vamos a indicar donde esta el video a reproducir en forma de parámetro...# ...así sirve para cualquier videoclear #borramos pantalla para que quede eleganteecho “Vamos a ver “ $1 #decimos que vamos a versleep 4 #esperamos 4 segundos para que de tiempo a leer el mensaje de antesclear #volvemos a borrar pantallamplayer -vo caca $1 #y a reproducir
Y ahora ejecutando
- ./videofriki /media/datos/pelis/escondidas/pornazo.avi
Quedamos como un friki salido sin
esfuerzo.
jaja muy buena, y muchas gracias por los conocimientos. No sabia de la existencia de este blog.
ResponderEliminarAhora que ya lo conoces, espero que te sientas tentado de volver de cuando en cuando
EliminarAgradezco mucho esta información, soy novel en linux, apenas hace un año que me pase al mundo del software libre, y uso mint. Tentado estoy de cambiarme, pero por el momento no tomo la descisión. Estoy probando aún en live sparkylinux, que según he leido es debian sin mayor ajuste. Un saludo desde Guatemala.
ResponderEliminarBienvenido al soft libre.
EliminarSaludos a Guatemala desde España
bueno digamos que soy grande en windows y niño en linux pero me las arreglo
ResponderEliminar