¿Qué es Shell Scripting y por qué debería usarlo?

¿Qué es Shell Scripting y por qué debería usarlo? / Programación

El shell es un programa dentro de un sistema operativo Linux o Unix que le permite ingresar comandos para que el sistema los ejecute. Cuando se abre una ventana de terminal en una computadora con Linux, se inicia el programa shell que presenta una interfaz para ingresar comandos. Esta interfaz se conoce como la interfaz de línea de comandos. Cuando se ingresa un comando, es ejecutado por el shell y la salida se muestra en la pantalla.

Además de poder aceptar y ejecutar comandos de manera interactiva, el shell también puede ejecutar comandos almacenados en un archivo. Este modo de ejecución se conoce como shell scripting, y en este artículo cubrimos los conceptos básicos de shell scripting 5 razones por las que debes usar PowerShell en lugar de Batch Scripting 5 razones por las que deberías usar PowerShell en lugar de Batch Scripting PowerShell es lo que obtendrías si cruzaras el símbolo del sistema con Batch Scripting. Algunas características adicionales, y lo pateó todo en varias muescas. Aquí hay varias razones por las que debe intentarlo. Lee mas .

1. Historia de la concha.

Comenzando con Unix en la década de 1970, hubo un programa de shell llamado V6 Shell Desarrollado por Ken Thomson. Era una shell interactiva y carecía de capacidad de scripting.

Fue seguido por el Bourne Shell en 1977 y se mantiene en uso hoy en día como el shell predeterminado para el raíz cuenta. Este shell agregó habilidades de scripting que han demostrado ser extremadamente útiles en la práctica a través de los años..

Un mayor desarrollo de la concha en la década de 1980 dio lugar a muchas variantes de concha populares, la más popular de las cuales fue la C-Shell y el Concha Korn. Cada una de estas conchas trajo su propia sintaxis que, en ciertos casos, fue drásticamente diferente de la concha original..

Una de las conchas más populares hoy en día es la Bash Shell. Bash significa Bourne Again Shell y es una variante muy mejorada del original Bourne Shell.

En este artículo, describimos los scripts de shell para Bash Shell. Una guía rápida para Linux Bash Shell en Windows 10. Una guía rápida para Linux Bash Shell en Windows 10. Ahora puede ejecutar Linux en Windows. Conozca más sobre Bash en Windows, desde cómo y por qué debería instalarlo, hasta características ocultas que probablemente no conocía. Lee mas .

2. Ejecutando un script de shell

¿Cómo ejecutar un script de shell? Sencillo. Simplemente pase la ruta del script como argumento al shell:

Un script de shell de muestra:

echo "hola mundo" 

Ejecutarlo de la siguiente manera:

$ bash hello.sh # imprime hola mundo 

Nota: El shell requiere que las líneas se terminen con caracteres LF (Line-Feed). Si escribe su script de shell en Windows e intenta ejecutarlo directamente en un sistema Linux, es posible que se produzcan errores. Windows usa la combinación CR-LF (Carriage-Return-Line-Feed) para la terminación de la línea. Esto debe ser convertido a LF solamente. Revisa tu editor de Windows para encontrar maneras de hacer esto.

Hay otra forma de ejecutar un script de shell directamente como un comando. Inserte la siguiente línea (la hashbang declaración) como la primera línea de su shell script.

#! / bin / bash 

Con este cambio, nuestro simple script de shell es ahora:

#! / bin / bash echo "hola mundo" 

Ahora, necesita hacer el archivo de script ejecutable de la siguiente manera:

$ chmod + x hola.sh 

En este punto, puede ejecutar el archivo de script directamente sin tener que hacer referencia explícita al shell.

$ hello.sh # imprime hola mundo 

Veamos algunas ventajas del uso de scripts de shell ¿Qué son los scripts CGI y cómo mejoran los sitios web? ¿Qué son los scripts CGI y cómo mejoran los sitios web? CGI significa Interfaz de puerta de enlace común. Es un protocolo estándar para que los servidores web ejecuten programas y generen resultados para los navegadores web. Aprenda todo sobre los scripts CGI y cómo pueden mejorar su sitio web. Lee mas .

3. Automatización de tareas

La primera ventaja de usar scripts de shell es la automatización de las tareas más frecuentes 7 tareas diarias que no sabía que podía automatizar en unos pocos minutos 7 tareas diarias que no sabía que podría automatizar en unos pocos minutos Hay muchas cosas que puede automatizar ahora eso te ahorrará tiempo y te permitirá concentrarte en otras cosas. Le ofrecemos siete cosas que puede automatizar ahora mismo con las herramientas adecuadas. Lee mas . Supongamos que tiene una tarea que necesita realizar todos los días. Si necesita ejecutar varios comandos en su sistema Linux todos los días, puede almacenar estos comandos en un archivo y ejecutar el script. Ejemplos incluyen:

  • Archive y cargue un archivo o carpeta todos los días en una instalación de almacenamiento en la nube Dropbox frente a Google Drive frente a OneDrive: ¿Qué almacenamiento en la nube es el mejor para usted? Dropbox contra Google Drive contra OneDrive: ¿Qué almacenamiento en la nube es el mejor para usted? ¿Has cambiado tu forma de pensar acerca del almacenamiento en la nube? Las opciones populares de Dropbox, Google Drive y OneDrive se han unido a otros. Le ayudamos a responder qué servicio de almacenamiento en la nube debe utilizar. Leer más como S3.
  • Comprimir archivos de registro que tienden a crecer cada día..
  • Obtenga precios de acciones, analice los datos obtenidos y active un correo electrónico o SMS cuando se cumplan ciertas condiciones (precios demasiado altos o demasiado bajos).

4. Combinando múltiples comandos

Además de automatizar las tareas frecuentes, también puede encontrar una ventaja que puede combinar múltiples secuencias de comandos en un solo comando. Recordar un solo comando es mucho más simple que los múltiples comandos, sin mencionar el orden en que deben ejecutarse.

Un ejemplo sería la secuencia de arranque de la Guía de introducción al sistema operativo Linux A La guía de introducción a Linux A Linux ¡Una guía de introducción a Linux de Newbie! Probablemente hayas oído hablar de Linux, el sistema operativo de código abierto y gratuito que ha estado luchando contra Microsoft. Leer más en sí. Como parte del arranque, el sistema operativo ejecuta una serie de comandos para que el sistema tenga un estado adecuado. Estos comandos son en realidad scripts de shell que viven bajo el / etc directorio. Si echa un vistazo a uno de estos scripts de shell, se dará cuenta de la complejidad del arranque de un sistema, que tal vez haya tenido que realizar manualmente en ausencia de los scripts de shell..

El siguiente es un script de shell de muestra, / etc / perfil, que se ejecuta cada vez que un usuario inicia sesión. Imagine que escribe estos comandos a mano!

# / etc / profile: archivo de perfil de todo el sistema para el shell Bourne (sh (1)) # y shells compatibles con Bourne (bash (1), ksh (1), ash (1), ...). si ["$ PS1"]; entonces si ["$ BASH"] && ["$ BASH"! = "/ bin / sh"]; luego # El archivo bash.bashrc ya establece la PS1 predeterminada. # PS1 = "\ h: \ w \ $" si [-f /etc/bash.bashrc]; entonces . /etc/bash.bashrc fi else if ["'id -u'" -eq 0]; entonces PS1 = "#" de lo contrario PS1 = "$" fi fi fi # El valor predeterminado de umask ahora es manejado por pam_umask. # Ver pam_umask (8) y /etc/login.defs. si [-d /etc/profile.d]; entonces para i en /etc/profile.d/*.sh; hacer si [-r $ i]; entonces . $ i fi hecho hecho unset i fi 

5. Más fácil de desarrollar

Es posible realizar las mismas acciones que un script de shell en un programa regular escrito en C / C ++. Sin embargo, es mucho más fácil escribir y depurar un script de shell que un programa C / C ++. Especialmente para tareas de administración del sistema que incluyen la ejecución de comandos externos, la creación y eliminación de archivos y directorios, la redirección de resultados, etc..

Los programas C / C ++ son mejores para un nivel de operación mucho más bajo, como invocar llamadas al sistema, manipular estructuras de datos, etc..

6. transparencia

Un script de shell, en virtud de ser un archivo de texto, se puede ver fácilmente para ver qué acciones está realizando. Por el contrario, la única manera de saber qué hace un programa escrito en un lenguaje como C / C ++ (y compilado en un ejecutable) es si decide informarle o si tiene acceso al código fuente. Por ejemplo, puede verificar si un script de shell está eliminando algún archivo, y si necesita esos archivos, puede copiarlos en una ubicación diferente.

También es mucho más fácil diagnosticar problemas con scripts de shell en lugar de programas regulares, ya que puede ver el código fuente. ¿Está fallando ese script porque no existe un directorio? Puede buscar en el código del script y crear el directorio (aunque un script de shell de buen comportamiento debería verificarlo y crearlo para evitar dichos errores).

7. portátil

Un script de shell Una guía rápida para Linux Bash Shell en Windows 10 Una guía rápida para Linux Bash Shell en Windows 10 Ahora puede ejecutar Linux en Windows. Conozca más sobre Bash en Windows, desde cómo y por qué debería instalarlo, hasta características ocultas que probablemente no conocía. Read More puede transferirse a otros sistemas operativos Unix y similares a Unix y ejecutarse (si el shell está presente). Incluso cuando se transfiere un script de shell desde diferentes arquitecturas como x86, MIPS, Sparc, etc., los scripts de shell son mucho más portátiles que los programas C / C ++..

La única forma en que un programa C / C ++ puede transferirse y usarse en otro sistema es copiar el código fuente, construir el programa e intentar ejecutarlo. Incluso entonces, puede que no funcione como se espera si utiliza un código específico de la arquitectura..

Ahora que tiene una idea de qué son los scripts de shell y sus muchas ventajas, ¿no le gustaría usarlos para sus tareas? ¿Qué problemas has enfrentado al usarlos? Por favor háznoslo saber en los comentarios más abajo.

Explorar más sobre: ​​Linux Bash Shell.