GNU/Linux >> Tutoriales Linux >  >> Linux

Parámetros posicionales de Bash explicados con 2 scripts de shell de ejemplo

Un parámetro es una entidad que almacena valores. Puede ser un nombre, un número o algunos caracteres especiales. Una variable es un parámetro indicado por un nombre. Algunas variables ya están configuradas para usted, y la mayoría de ellas no pueden tener valores asignados.

Estas variables contienen información útil, que puede ser utilizada por un script de shell para conocer el entorno en el que se ejecuta.

Bash proporciona dos tipos de parámetros.

  • Parámetro posicional
  • Parámetro especial

En este artículo, discutamos sobre el parámetro posicional bash con los ejemplos.

Este artículo es parte de nuestra serie continua de tutoriales de bash.

Ejemplo 1:Parámetro posicional de Bash – $0, $1, $2 ..

Los parámetros posicionales son los argumentos que se dan a sus secuencias de comandos cuando se invocan. Podría ser de $1 a $N. Cuando N consta de más de un solo dígito, debe estar encerrado entre llaves como ${N}.

La variable $0 es el nombre base del programa como se llamaba.

El siguiente ejemplo obtiene dos argumentos y proporciona resultados de operaciones aritméticas entre esos dos enteros.

Primero, cree el script de shell aritmetic.sh como se muestra a continuación.

$ cat arithmetic.sh
#!/bin/bash

echo -e  "\$1=$1"
echo -e "\$2=$2"

let add=$1+$2
let sub=$1-$2
let mul=$1*$2
let div=$1/$2

echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"

A continuación, ejecute aritmetic.sh con los parámetros adecuados, como se muestra a continuación.

$ ./arithmetic.sh 12 10
$1=12
$2=10
Addition=22
Subtraction=2
Multiplication=120
Division=1

En la salida anterior, $1 tiene el valor 12 y $2 tiene 10.

Shell incorporado 'let' permite realizar operaciones aritméticas en variables de shell. El script anterior realiza operaciones aritméticas como suma, resta, multiplicación y división en los parámetros dados.

Ejemplo 2:establecer/desestablecer parámetros posicionales de Bash

El comando set incorporado se utiliza para establecer y desactivar el parámetro posicional.

Primero, cree el script de shell positional.sh como se muestra a continuación.

$ cat positional.sh
#!/bin/bash

# From command line
echo -e "Basename=$0"
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# From Set builtin
set First Second Third
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Store positional parameters with -(hyphen)
set - -f -s -t
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

# Unset positional parameter
set --
echo -e  "\$1=$1"
echo -e "\$2=$2"
echo -e "\$3=$3"

El script anterior imprime primero los argumentos de la línea de comando, luego el comando set establece el parámetro posicional explícitamente. Establecido con el final de las opciones de referencia, todos los siguientes argumentos son parámetros posicionales, incluso si pueden comenzar con '-'. Establecer con '–' sin ningún otro argumento deshabilita todos los parámetros posicionales.

A continuación, ejecute positional.sh como se muestra a continuación.

$ ./positional.sh
Basename=t.sh
$1=12
$2=10
$3=
$1=First
$2=Second
$3=Third
$1=-f
$2=-s
$3=-t
$1=
$2=
$3=

En el próximo artículo, analicemos los parámetros especiales de bash con ejemplos.


Linux
  1. Bash -c con parámetros posicionales?

  2. Parámetros especiales de Bash explicados con 4 scripts de Shell de ejemplo

  3. Parámetros de línea de comando en scripts de shell

  4. ¿Es posible hacer que un script bash shell interactúe con otro programa de línea de comandos?

  5. Ejecute todos los scripts de shell en la carpeta

Bash Scripting - Variables explicadas con ejemplos

Bash Scripting - Comando Printf explicado con ejemplos

Bash Scripting:matriz asociativa explicada con ejemplos

Cómo crear documentos con scripts Bash

Cómo usar el comando echo en Bash Scripts en Linux

Aprenda secuencias de comandos Bash multihilo con GNU Parallel