Para realizar el programa use el nano.
Según mis investigaciones y lecturas nocturnas era posible ejecutar varias ordenes metidas en un archivo de texto y así fue como escribí mi primer “script”.
mediante la palabra “sh” + “espacio” + “nombredelarchivoconlasordenes” era posible ejecutar lo escrito en el archivo sin necesidad de escribirlo de nuevo.
El script hacia uso de las siguientes palabras:
echo
read
Comencé, antes de abrir nano, a probar el echo y a toquetear.
Escribiendo echo “hola pueblo” en pantalla salia el siguiente texto:
hola pueblo
Si escribía solo echo “ “ en pantalla no se mostraba nada pero saltaba una linea.
Esto tenia que poderse evitar y así fue como descubrí el man (bueno fue en uno de los libros que tanto me gustaba hojear).
Las palabras que metía en “el ordenador” en realidad eran nombres de programas y es por eso que cuando me confundía metiendo una palabra si esta no era exactamente como el nombre del programa el ordenador no sabia que hacer y me mostraba un mensaje de error, al menos eso era lo que más o menos pude deducir de uno de aquellos libros llamado “scripts in the shell”, que era por cierto mi favorito.
Retomando la historia.
Con la orden man acompañada del nombre del programa en pantalla te daban información de lo que ese programa hacia así como un montón de “opciones” para que el programa se comportase de otra forma.
El man para ver información del programa echo era algo así (si la mente no me falla):
man echo
Para salir del programa simplemente tenias que pulsar la letra “q” que venia del ingles “quit” y regresabas a la zona de escribir palabras (que pase a llamar zona de ordenes).
Una de las cosas que salían en la información que mostraba el “man echo” era que podía evitar el salto de linea de este si le añadía a echo lo siguiente:
echo -n “hola mundo”
De esta forma evitaba el salto de linea ya que por defecto el programa “echo” (al menos la versión que me toco por aquellos entonces usar) venia compilado para saltar de linea si no indicabas lo contrario.
La orden “read” servía para almacenar información que luego podíamos sacar de nuevo.
Para almacenar una frase simplemente tenia que escribir:
read almacen1
Luego el programa se quedaba a la espera para que le metiese la frase que quería almacenar (en memoria o algo así) y tras escribirla y pulsar ENTER se quedaba la frase almacenada pero oculta sin que la pudiese visualizar.
Para visualizarla de nuevo en pantalla tenia que usar la orden:
echo $almacen1
Era importante añadirle el símbolo del dólar antes del nombre ya que sino nos mostraba en pantalla “almacen1” en vez de la frase que nosotros habíamos metido en el almacen1.
Mirando el man descubrí que podía lanzar un texto antes de que me solicitase escribir el contenido que quería almacenar, esto se realizaba así:
read -p “Escribe tu mierda: “ almacen2
En pantalla me salia:
Escribe tu mierda:
Salia el texto que había indicado y se quedaba a la espera de que le metiese la frase, números o palabra que quisiera.
Gracias a estas investigaciones pude realizar la primera versión de mi primer script, que era este:
read -p “Escribe la idea: “ IDEA
echo $IDEA >> notas
clear
echo “$IDEA ha sido anotada”
Lo realice con el nano.
escribí el script dentro de nano y lo guarde en el archivo idea.
El script hacia lo siguiente:
read imprime el texto “Escribe la idea: “ en pantalla y espera a que el usuario meta un texto y pulse Enter, en el momento que pulsa Enter lo introducido se almacena en un cajón de la memoria del ordenador llamado “IDEA”.
echo busca un cajón en memoria llamado IDEA y antes de que se muestre por pantalla “vuelca” su contenido en un archivo llamado notas.
Decir que antes de volcar el contenido del cajón IDEA se comprueba que no exista un fichero llamado idea, si no existe lo crea si existe lo abre y almacena en una nueva linea el contenido del cajón IDEA.
clear borra todo lo impreso en pantalla.
echo muestra el contenido de IDEA en pantalla y le añade la frase: ha sido anotada.
En realidad realice un par de scripts antes pero sin éxito, los scripts solo almacenaban una linea en el archivo notas ya que en vez de usar “>>” usaba solo “>”.
Aquello fue un gran descubrimiento que me abría un gran campo de posibilidades, podía enviar el resultado de una orden a otro archivo e incluso podía enviar varias ordenes al mismo archivo usando “>>” y que este no se “sobreescribiese”.
A lo largo de la semana realice un montón de scripts que hacían lo mismo de distinta forma los cuales no explicare pero si que dejare aquí reflejados:
read IDEA
echo $IDEA >> notas
USUARIO = Salido
read -p “Escribe tu idea $USUARIO : ” IDEA
echo $IDEA >> notas
echo “gracias $USUARIO por anotar la idea”
read IDEA ; echo $IDEA >> notas
read IDEA ; echo $IDEA | tee -a > notas