Bash shell 'ejecut', 'eval', 'fuente' - cuál es la diferencia

Bash shell 'ejecut', 'eval', 'fuente' - cuál es la diferencia

Entre las muchas características de la secuencia de comandos bash se encuentran los comandos exec, eval y la fuente, que pueden usarse para ejecutar comandos, ejecutar scripts y establecer variables de entorno. En este artículo, discutiremos cada uno de estos comandos y cómo se pueden usar en las secuencias de comandos bash.

Ejec en Bash Scripting

Este comando reemplaza el proceso de ejecución actual con un nuevo proceso, ya que se puede usar para ejecutar un nuevo comando en el mismo shell, o para reemplazar el shell actual con uno nuevo. Por ejemplo, para reemplazar el shell actual con un nuevo shell bash, puede usar el comando exec bash. Esto creará un nuevo shell con el mismo entorno que el shell actual, pero cualquier cambio realizado en el nuevo shell no será visible en el antiguo shell.

ejecución

Aquí está el código de ejemplo de script bash que usa este comando EXEC:

#!/bin/bash
Echo "Script inicial ..."
LS -L
Echo "Script completado."

El comando EXEC se utiliza para reemplazar el proceso de shell actual con un comando o script especificado, por lo que en este ejemplo, el script imprime un mensaje usando el comando echo. Dado que EXEC reemplaza el proceso actual con LS -L, el siguiente comando ECHO nunca se ejecuta.

eval en scripting bash

El comando eval se utiliza para evaluar un comando que se almacena en una variable de cadena, ya que esto es útil cuando necesita generar dinámicamente un comando basado en la entrada del usuario u otras variables. Por ejemplo, si tiene un CMD variable que contiene un comando, puede usar el comando eval $ cmd para ejecutar el comando almacenado en la variable CMD.

evaluación

Aquí está el código de ejemplo bash que usa este comando EXEC:

#!/bin/bash
# Ejemplo del comando eval
cmd = "echo hola, mundo!"
eval $ cmd

El comando eval se utiliza para ejecutar un comando shell que se construye dinámicamente en tiempo de ejecución, por lo que en este ejemplo, la variable CMD se establece en la cadena "Echo Hello, World!". El comando Eval se usa para ejecutar el contenido de CMD, que imprime el mensaje "Hola, mundo!"A la consola.

Fuente en Scripting Bash

El comando de origen se utiliza para ejecutar comandos que se almacenan en un archivo y es útil cuando tiene un script que establece variables de entorno o define las funciones que desea usar en su shell actual. Por ejemplo, si tienes un script my_script.SH que establece variables de entorno, puede usar la fuente de comando my_script.SH para ejecutar el script y establecer las variables de entorno en su shell actual.

fuente < file-name>

Aquí está el código de Bash de ejemplo, ejecuta un script de shell dentro de un script usando el comando de origen:

#!/bin/bash
# Ejemplo del comando de origen
fuente ./Bashfile2.mierda

El comando de origen se usa para ejecutar los comandos en un script especificado dentro del entorno de shell actual, por lo que en este ejemplo, el script my_script.SH se ejecuta usando la fuente. Los comandos en bashfile2.SH se ejecutan en el entorno de shell actual, que puede ser útil para establecer variables de entorno o definir funciones que se utilizarán.

Conclusión

El bash proporciona comandos potentes como ejecutivo, eval y fuente que se pueden usar para administrar sistemas Linux. El comando EXEC se utiliza para reemplazar el proceso actual con uno nuevo, el comando EVALE se usa para evaluar un comando almacenado en una variable, y el comando de origen se usa para ejecutar comandos almacenados en un archivo. Estos comandos pueden ser muy útiles en las tareas de secuencia de comandos y automatización y pueden ayudarlo a trabajar de manera más eficiente en el shell bash.