Dentro de los scripts, podemos utilizar variables. Las variables son como espacios de memoria que guardan datos y se utilizan bajo un nombre.
- Por ejemplo: "NOMBRE=Miguel". Con ello tenemos la variable NOMBRE que ahora guarda el dato Miguel. Para utilizarla ejecutamos "echo $NOMBRE" y saldría por pantalla Miguel.
De esta forma podremos guardar la salida de comandos en variables, para después utilizarla en otros comandos. Para profundizar más sobre variables accede aquí.
Si lo que deseas es guardar la salida de los comandos en un fichero de texto, puedes utilizar la redirección ">" para ello. Por ejemplo: echo "Hola Mundo" > hola.txt guardará en hola.txt el texto Hola Mundo.
Análogamente, para introducir como entrada de un comando el contenido de un fichero de texto, se utiliza la redirección "<".
Para introducir comentarios en el script basta con poner "#" al inicio de la línea.
Los condicionales y bucles (if [ cond ]; then ... fi ó for i in 1..4 do ... done) nos ayudan a controlar el flujo del script. Por ejemplo bajo el valor de una variable ejecutar un comando u otro (if), o ejecutar un comando muchas veces (for). Para aprender a utilizar estas estructuras accede aquí.
Al inicio del fichero de un script hay que indicar cómo se interpreta el código. Puede ser un script en python, shell, bash, etc. En este caso vamos a hacer un script en bash como ejemplo, por lo que al inicio del documento debe ir la siguiente línea:
#!/bin/bash
Seguidamente ya podemos empezar a introducir los comandos que necesitemos.
Ejemplo:
Un ejemplo muy sencillo de script es uno que utilizo a menudo. Para actualizar los paquetes instalados, como bien sabemos, hay que actualizar los repositorios y después actualizar los paquetes. Para simplificar, vamos a hacer un script "actualizar.sh" que ejecute los dos comandos:
#!/bin/bash
#Comprobamos que sea root con el condicional
# $(whoami) ejecuta el comando whoami y la salida se utiliza en la comparación con root
if [ $(whoami) != "root" ]; then
#Informamos de que no ha ejecutado el script como root
echo "Ejecuta el comando como root"
exit
fi
#Actualizamos los repositorios
echo "Actualizando repositorios..."
apt-get update
#Actualizamos paquetes
echo "Actualizando paquetes..."
apt-get --assume-yes upgrade
Guardamos el texto del script como actualizar.sh y le damos permisos de ejecución como sigue:
- $ sudo chmod +x actualizar.sh
Ahora ya podemos utilizar el script desde una terminal escribiendo:
- $ sudo ./actualizar
Para que el script sea accesible desde cualquier carpeta hay que moverlo a una carpeta de ejecutables, o lo que es lo mismo, una carpeta del PATH. Por convenio los programas de usuario están en /usr/bin/, pero personalmente los scripts prefiero meterlos en mi carpeta personal, en /home/usuario/bin/
- $ mv actualizar.sh ~/bin/
Espero que sirva de ayuda,
Un saludo!
________________________________
PD: En caso de que no os aparezca la carpeta /home/usuario/bin en el PATH acceder aquí para introducirla.
No hay comentarios:
Publicar un comentario