Saludos, he aquí Jaroslav con un nuevo Podcast.
- Programa intermediario entre ordenador y usuario, que funciona en base a comandos
- Permite acceder a los servicios del Sistema Operativo
- El tipo de Shell varía de un sistema a otro
- GNU/Linux generalmente utiliza Bash
- Secuencia de ordenes en programadas en bash
- Permite automatizar tareas
- Permite crear nuestros propios programas
- Permite crear los modos de ejecución de nuestros programas (Lo explicaré mejor más adelante)
Para programar en Bashscript (O sea, un Script de Bash), primero necesita conocer los comandos básicos, como "echo", que imprime todo lo que escribamos en la pantalla. Empecemos por el típico "Hola Mundo"... Sí, puede ser tedioso hacerlo siempre, pero ya es una tradición empezar desde aquí. Normalmente, con la práctica escribes "Hola Mundo" que no digan Hola Mundo. Pero ese no será el caso de este tutorial.
Pasos para empezar a programar:
- Abre tu terminal de GNU/Linux
- Ejecuta la orden mkdir ~/Mis\ Archivos\ SH
- Entra en la carpeta cd ~/Mis\ Archivos\ SH
- Crea tu primer Bashscript con vim hola_mundo.sh
- En caso de toner vim instalado, instalalo
- Asegúrate de estar en modo texto (Si no lo estas, oprime la tecla "I latina")
- Escribe
Si ya escribiste lo anterior, sal del modo texto con escape, y guarda el documento con el comando :wq (Guardar y Salir). Ahora ejecuta en el terminal el comando sudo chmod +x hola_mundo.sh si estás como usuario normal, y chmod +x hola_mundo.sh si estás como usuario Root.
Si eres usuario normal debe salirte este signo $, si eres usuario Root (O Superusuario) deberías er este otro #. Pero normalmente (Salvo pocas excepciones), la mayoría de Distros (O sea, distribuciones de sistemas GNU/Linux) te abrirán la terminal en modo de usuario normal.
Me disculpo que mi Shell se vea así. Ya que cambie la Shell por defecto por "Oh My Zsh". Pero ustedes aún no necesitan que les enseñe eso. Tal vez más adelante.
Ahora sólo ejecutas tu Script con ./[ScriptSH], o sea ./hola_mundo.sh. Si acaso te sale un error, puede que no estés dentro de la carpeta. Pon cd ~/Mis\ Archivos\ SH, e inténtalo de nuevo. Si tienes otro error, es que no diste los privilegios de ejecución, pon sudo chmod +x hola_mundo.sh, y si vez un error es que estás en modo Root y necesitas omitir el sudo, entonces ejecuta chmod +x hola_mundo.sh. Si sale otro error (Que ya sería raro), es posible que escribieras mal el nombre del archivo. Pon el comando ls y verás todos los nombres de los archivos dentro de la carpeta donde te encuentras.
Recuerda también que Linux distingue mayúsculas de minúsculas. Así que asegúrate de escribir el nombre correctamente. Puedes usar la tecla Tab para auto-completar.
Pasemos ahora a las variables, y posteriormente a las funciones. Una variable, como su nombre lo indica, es algo que varía. Son llamadas al Sistema de donde se extraen los datos ingresados por el programa o usuario, y que generalmente sobre estos resultados se puede ejecutar una orden específica,
Una función, es un conjunto de ordenes que serán ejecutadas al ingresar una orden específica. Esto se entenderá mejor con ejemplos, vamos a modificar nuestro programa. Asegurate de estar en la carpeta correcta, o ingresa a ella con cd ~/Mis\ Archivos\ SH, ahora ejecutas vim hola_mundo.sh. No necesito decir que entres al modo texto.
Ejecuta, y mira el resultado. Ya tienes un programa que dice "Hola Mundo", y escribe cualquier nombre. Puede que ahora te preguntes "[...] ¿Para qué sirve? [...]". No sirve de nada, sólo para aprender a programar. Así que pasemos a hacer algo útil. empieza descargando imágenes a tu ordenador
Ingresa al terminal y has una copia de tu archivo "~/.bashrc", cp ~/.bashrc ~/bashrc-copia, el comando cp es una complexión de la palabra "Copy" (Copiar). Copiará el archivo que indiquemos primero, y lo guardará con el nombre que le indiquemos segundo. Ahora podemos modificar ~/.bashrc, sabiendo que tenemos una copia de respaldo.
Ahora ejecutamos vim ~/.bashrc en el terminal, y añadiremos esta función en el documento:
}
Lo que está entre corchetes es la función que hemos programado. Ahora guardemos los cambios yendo al modo normal de vim, y ejecutando el comando :wq, cerremos el terminal con exit,y abramos otro terminal. Vamos a la carpeta donde están nuestras imágenes cd [Ruta], ejemplo cd ~/Downloads, y ejecutamos nuestra función con img-ordenar.
Como podremos ver, las imágenes se guardarán automáticamente en las carpetas que les hemos indicado. Este nuevo comando ya estará disponible, de ahora en más, siempre que lo necesitemos.
Una buena idea es crear nuestra función para hacer actualizaciones automáticas. Pero los comandos de actualización varían de una distro a la otra. Por lo que enseñaré funciones para añadir a nuestro ~/.bashrc para Arch Linux y derivados, Debian y derivados, y Ubuntu y derivados.
En el ejemplo anterior, el comando yes le da "Sí" a todo lo que pregunte el equipo. Si no estamos seguros, podemos omitirlo para evitar incompatibilidades de software (Especialmente si tienen código compilado. Si no sabés que es compilar, entonces seguramente NO lo tienes)
Otra forma de hacer lo mismo es con el comando alias, este lo explicaré más adelante. Por ahora prefiero explicarles el tema de las funciones. Las Tuberías o Pipes, se explicarán en el próximo programa del Miércoles de Informática.
Ahora pasemos a la función de Ubuntu y derivados, que como verán es exactamente la misma que la anterior, pero con una pequeña diferencia.
Aquí es donde se preguntarán la diferencia apt entre y apt-get. Pues la única respuesta, es que apt-get es una versión modificada de apt, lanzada por Cannonical para su distro Ubuntu, y todas sus derivadas.
Por defecto apt-get NO se encuentra disponible en Debian, y aunque apt también funcione para Ubuntu y derivadas, el equipo de Cannonical en su momento recomendó usar apt-get para actualizar su distro (Ubuntu). Supongo que ellos sabrán el porqué de que lo digan. Después de todo son el equipo detrás de la creación y/o mantenimiento de Ubuntu.
Comments
Post a Comment