Shell Scripting – Establecer comando

En este artículo, veremos el comando SET en bash scripting.

Establecer comando: se utiliza para establecer o desactivar indicadores y configuraciones específicos (determina el comportamiento del script y ayuda a ejecutar las tareas sin ningún problema) dentro del entorno de shell. Se puede usar para cambiar o mostrar los atributos y parámetros del shell. 

Sintaxis:

set -options arguments

El comando set admite las siguientes opciones:

Opción Descripción
-a  se usa para marcar variables que se crean o modifican o se crean para exportar.
-b  utilizar para notificar la terminación del trabajo.
-mi  use para salir cuando el comando sale con un estado distinto de cero.
-F deshabilita la generación de nombres de archivo conocida como globbing
-h Guarda la ubicación del comando donde se buscó.
-k

Coloca todos los argumentos de asignación en la variable de entorno de un comando.

Excepción: excluye todos los argumentos que preceden al nombre del comando.

-metro Permite el control de trabajos.
-norte Se utiliza para leer los comandos.
-o Se utiliza para nombrar la opción.
-pags

Deshabilita el procesamiento del archivo ‘$ENV’ y también importa las funciones de shell.

Activado: cuando las identificaciones de usuario reales y efectivas no coinciden.

-t Se utiliza para salir del comando después de ejecutar un solo comando
-tu Trata la variable no configurada como un error durante la sustitución
-v Imprime las líneas de entrada del shell.
-X Imprime los comandos y sus argumentos en la misma secuencia en que se ejecutaron.
-B Realiza la expansión Brace por la concha
-C No permite que se sobrescriban los archivos regulares existentes.
-MI se usa cuando las funciones de shell heredan la trampa ERR
-H Habilita la sustitución del historial de estilo. Está activado de forma predeterminada.
-PAGS se usa cuando durante la ejecución del comando no queremos seguir los enlaces simbólicos.
-T establezca esta bandera, esto ayuda a las funciones de shell a heredar la trampa DEBUG

Para una demostración del uso del comando set, usemos algún comando set.

Establecer comando -x

Esta opción imprime los comandos en la secuencia a medida que se ejecutan o se usa principalmente para realizar una depuración de secuencias de comandos.

Código:

set -x
echo Hello
echo Romy

Producción:

bar
hello
Romy
+ echo bar
+ echo hello
+ echo Romy

Podemos ver los comandos que se imprimen después de la ejecución del comando con el signo ‘+’.

Establecer comando -e

Termina la ejecución cuando se produce el error.

Código:(sin conjunto -e)

echo Hello
foo
echo Romy

Producción:

Hello
Romy
main.sh: line 14: foo: command not found

‘foo’ es un comando inexistente pero bash aún ejecutó la tercera línea después de encontrar el error en la segunda línea. Podemos usar el comando set para detener la terminación.

Código:(con conjunto -e)

set -e
echo Hello
foo
echo Romy

Producción:

Hello
main.sh: line 15: foo: command not found

Podemos ver que la tercera línea no se imprime porque la ejecución finalizó después de la segunda línea.

Comandos canalizados

El comando Set -e no funciona con comandos canalizados.

Ejemplo:

set -e
foo | echo " This is the piped command"
echo "executed"

Producción:

 This is the piped command
executed
main.sh: line 3: foo: command not found

Podemos ver que se está ejecutando la tercera línea, en lugar de terminar la ejecución después de la segunda línea.

Para superar este problema, tenemos que usar ‘set -eo pipefail’

Establecer -eo pipefail

Ejemplo:

set -eo pipefail

foo | echo " This is the piped command"

echo "executed"

Producción:

 This is the piped command
main.sh: line 13: foo: command not found

Establecer parámetros posicionales usando el comando set

Se puede utilizar para asignar valores a parámetros posicionales. Posición del valor al que se hace referencia como ${N} donde N denota la posición del parámetro.

El $1 es el primer parámetro posicional después del comando. El valor de $2 es el segundo parámetro, y así sucesivamente.

Ejemplo:

set apple mango orange guava
echo $1
echo $2
echo $3
echo $4

Producción:

apple
mango
orange
guava

Parámetros posicionales no establecidos

Para desarmar el parámetro posicional, ejecute el comando set seguido de dos guiones (set –).

Ejemplo:

set apple mango orange guava

set --
echo $1
echo $2

echo "Hello"

Producción:

Hello

Podemos ver que no se imprime nada correspondiente a los dos primeros comandos para imprimir parámetros posicionales.

Publicación traducida automáticamente

Artículo escrito por romy421kumari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *