¿Qué es el script de Shell y por qué debería usarlo?

¿Qué es el script de Shell y por qué debería usarlo?

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 Linux, inicia el programa de shell que presenta una interfaz para ingresar comandos. Esta interfaz se conoce como interfaz de línea de comandos. Cuando se ingresa un comando, el shell lo ejecuta y la salida se muestra en la pantalla.





Además de poder aceptar y ejecutar comandos de forma interactiva, el shell también puede ejecutar comandos almacenados en un archivo. Este modo de ejecución se conoce como secuencias de comandos de shell , y en este artículo cubrimos los conceptos básicos de las secuencias de comandos de shell.





1. Historia del caparazón

Comenzando con Unix en la década de 1970, había un programa de shell llamado Carcasa V6 desarrollado por Ken Thomson. Era un caparazón interactivo y carecía de capacidad de escritura.





Fue seguido por el Concha de Bourne en 1977 y sigue utilizándose hoy como shell predeterminado para el raíz cuenta. Este shell agregó capacidades de scripting que han demostrado ser extremadamente útiles en la práctica a lo largo de los años.

Un mayor desarrollo del caparazón en la década de 1980 dio lugar a muchas variantes de caparazón populares, las más populares de las cuales fueron las C-Shell y el Concha de Korn . Cada uno de estos caparazones traía su propia sintaxis que, en ciertos casos, era drásticamente diferente del caparazón original.



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

enciende la linterna enciende la linterna

En este artículo, describimos las secuencias de comandos de shell para el Bash Shell .





2. Ejecución de un script de shell

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

Un script de shell de muestra:





|_+_|

Ejecútelo de la siguiente manera:

|_+_|

Nota: El shell requiere que las líneas terminen con caracteres LF (Line-Feed). Si escribe su script de shell en Windows e intenta ejecutarlo directamente en un sistema Linux, puede encontrarse con errores. Windows utiliza la combinación CR-LF (Carriage-Return-Line-Feed) para la terminación de la línea. Esto solo debe convertirse a LF. Consulte su editor de Windows para conocer las formas 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 script de shell.

cómo instalar windows 10 desde usb en una nueva pc
|_+_|

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

|_+_|

Ahora, debe hacer que el archivo de secuencia de comandos sea ejecutable de la siguiente manera:

|_+_|

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

|_+_|

Veamos ahora algunas ventajas de usar scripts de shell.

3. Automatización de tareas

La primera ventaja de utilizar scripts de shell es la automatización de las tareas que se ejecutan con frecuencia. Suponga que tiene una tarea que debe 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 un instalación de almacenamiento en la nube como S3.
  • Comprima archivos de registro que tienden a crecer todos los días.
  • 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. Combinación de varios comandos

Además de automatizar las tareas frecuentes, también puede resultarle ventajoso poder combinar varias secuencias de comandos en un solo comando. Recordar un solo comando es mucho más simple que varios comandos, sin mencionar el orden en el que deben ejecutarse.

Un ejemplo sería la secuencia de inicio del propio sistema operativo Linux. Como parte del arranque, el sistema operativo ejecuta una serie de comandos para que el sistema entre en un estado adecuado. Estos comandos son en realidad scripts de shell que viven bajo el /etc directorio. Si echas un vistazo a uno de estos scripts de shell, te darás cuenta de la complejidad de arrancar un sistema, lo que quizás hayas tenido que realizar a mano en ausencia de scripts de shell.

El siguiente es un script de shell de muestra, / etc / profile , que se ejecuta cada vez que un usuario inicia sesión. ¡Imagínese escribiendo estos comandos a mano!

|_+_|

5. Más fácil de desarrollar

Es posible realizar las mismas acciones que un script de shell dentro de un programa normal 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 comprobar 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 decírselo 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 que con programas normales, ya que puede consultar el código fuente. ¿Ese script está fallando porque no existe un directorio? Puede buscar en el código del script y crear el directorio (aunque un script de shell con buen comportamiento debería comprobarlo y crearlo para evitar tales errores).

7. Portátil

A script de shell puede transferirse a otros sistemas operativos Unix y similares a Unix y ejecutarse (si el propio shell está presente). Incluso al transferir 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 ++ se puede transferir y usar en otro sistema es copiar el código fuente, compilar el programa e intentar ejecutarlo. Incluso entonces, es posible que no funcione como se esperaba si usa 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 utilizarlos para sus tareas? ¿Qué problemas ha enfrentado al usarlos? Por favor háznoslo saber en los comentarios más abajo.

cuánto reemplazar la batería del macbook pro
Cuota Cuota Pío Correo electrónico 5 consejos para potenciar sus máquinas Linux VirtualBox

¿Cansado del bajo rendimiento que ofrecen las máquinas virtuales? Esto es lo que debe hacer para mejorar el rendimiento de VirtualBox.

Leer siguiente
Temas relacionados
  • Programación
  • Shell de Bash de Linux
Sobre el Autor Jay Sridhar(17 Artículos publicados) Más de Jay Sridhar

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse