
Owen Little
0
3346
49
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 la 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 script de shell, y en este artículo cubrimos los conceptos básicos de las secuencias de comandos de shell 5 razones por las que debe usar PowerShell en lugar de las secuencias de comandos por lotes 5 razones por las que debe usar PowerShell en lugar de las secuencias de comandos por lotes algunas características adicionales, y lo pateó todo varias muescas. Aquí hay varias razones por las que deberías probarlo. .
1. Historia de la cáscara
Comenzando con Unix en la década de 1970, había un programa de shell llamado V6 Shell desarrollado por Ken Thomson. Era un shell interactivo y carecía de capacidad de scripting.
Fue seguido por el Bourne Shell en 1977 y sigue en uso hoy como el shell predeterminado para el raíz cuenta. Este shell agregó capacidades de secuencias de comandos que han demostrado ser extremadamente útiles en la práctica a lo largo de los años..
El desarrollo posterior de la concha en la década de 1980 dio lugar a muchas variantes populares de concha, las más populares fueron C-Shell y el Korn Shell. Cada uno de estos shells trajo su propia sintaxis que, en ciertos casos, era drásticamente diferente del shell original.
Uno de los proyectiles más populares hoy en día es el Bash Shell. Bash significa Bourne Again Shell y es una variante enormemente mejorada del Bourne Shell original.
En este artículo, describimos las secuencias de comandos 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. Obtenga más información sobre Bash en Windows, desde cómo y por qué debería instalarlo, hasta funciones ocultas que probablemente no conocía. .
2. Ejecutando 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:
echo "hola mundo"
Ejecútelo de la siguiente manera:
$ bash hello.sh # imprime hello world
Nota: El shell requiere que las líneas sean terminadas por caracteres LF (avance de línea). Si escribe su script de shell en Windows e intenta ejecutarlo directamente en un sistema Linux, puede encontrar errores. Windows usa la combinación CR-LF (Carriage-Return-Line-Feed) para la terminación de la línea. Esto solo debe convertirse a LF. Revisa tu editor de Windows para encontrar formas de hacerlo.
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.
#! / bin / bash
Con este cambio, nuestro simple script de shell es ahora:
#! / bin / bash echo "hola mundo"
Ahora, debe hacer que el archivo de script sea ejecutable de la siguiente manera:
$ chmod + x hello.sh
En este punto, puede ejecutar el archivo de script directamente sin tener que hacer referencia explícita al shell.
$ hello.sh # imprime hello world
Veamos ahora algunas ventajas de usar 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 son las siglas de Common Gateway Interface. Es un protocolo estándar para servidores web para ejecutar programas y generar resultados para navegadores web. Aprenda todo sobre los scripts CGI y cómo pueden mejorar su sitio web. .
3. Automatización de tareas
La primera ventaja de usar scripts de shell es la automatización de tareas ejecutadas con frecuencia. eso le ahorrará tiempo y le permitirá concentrarse en otras cosas. Le damos siete cosas que puede automatizar ahora con las herramientas adecuadas. . Suponga que tiene una tarea que debe realizar todos los días. Si necesita ejecutar múltiples 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 vs. Google Drive vs. OneDrive: ¿Qué almacenamiento en la nube es mejor para usted? Dropbox vs. Google Drive vs. OneDrive: ¿Qué almacenamiento en la nube es mejor para usted? ¿Ha cambiado su forma de pensar sobre el almacenamiento en la nube? Las opciones populares de Dropbox, Google Drive y OneDrive se han unido a otras. Le ayudamos a responder qué servicio de almacenamiento en la nube debe usar. como S3.
- Comprimir archivos de registro que tienden a crecer todos los días.
- Obtenga los precios de las 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 tareas frecuentes, también puede resultarle ventajoso que pueda 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 que deben ejecutarse.
Un ejemplo sería la secuencia de arranque de la Guía de inicio de Linux para el sistema operativo. Guía de inicio de Linux. Guía de inicio de Linux para principiantes. Probablemente haya escuchado sobre Linux, el sistema operativo gratuito de código abierto que ha estado presionando contra Microsoft. sí mismo. Como parte del arranque, el sistema operativo ejecuta una serie de comandos para llevar el sistema a un estado adecuado. Estos comandos son realmente scripts de shell que viven bajo el / etc directorio. Si observa uno de estos scripts de shell, se dará cuenta de la complejidad de arrancar un sistema, que podría haber 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. Imagine escribir estos comandos a mano!
# / etc / profile: archivo .profile 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 \ $" if [-f /etc/bash.bashrc]; entonces . /etc/bash.bashrc fi else if ["'id -u'" -eq 0]; entonces PS1 = "#" más PS1 = "$" fi fi # La umask predeterminada ahora es manejada por pam_umask. # Ver pam_umask (8) y /etc/login.defs. si [-d /etc/profile.d]; luego para i en /etc/profile.d/*.sh; hacer si [-r $ i]; entonces . $ i fi hecho sin configurar i fi
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, crear y eliminar archivos y directorios, redirigir 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 verificar qué acciones está realizando. Por el contrario, la única forma en que sabrá lo que está haciendo 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 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 con buen comportamiento debe verificarlo y crearlo para evitar tales errores).
7. Portátil
Un script de shell Una guía rápida de Linux Bash Shell en Windows 10 Una guía rápida de Linux Bash Shell en Windows 10 Ahora puede ejecutar Linux en Windows. Obtenga más información sobre Bash en Windows, desde cómo y por qué debería instalarlo, hasta características ocultas que probablemente no conocía. 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 ++ se puede transferir y usar 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 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 usarlos para sus tareas? ¿Qué problemas has enfrentado al usarlos? Por favor háznoslo saber en los comentarios más abajo.