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.