GNU/Linux >> Tutoriels Linux >  >> Linux

Paramètres positionnels de Bash expliqués avec 2 exemples de scripts Shell

Un paramètre est une entité qui stocke des valeurs. Il peut s'agir d'un nom, d'un numéro ou de certains caractères spéciaux. Une variable est un paramètre désigné par un nom. Certaines variables sont déjà définies pour vous, et la plupart d'entre elles ne peuvent pas se voir attribuer de valeurs.

Ces variables contiennent des informations utiles, qui peuvent être utilisées par un script shell pour connaître l'environnement dans lequel il s'exécute.

Bash fournit deux types de paramètres.

  • Paramètre de position
  • Paramètre spécial

Dans cet article, discutons du paramètre de position bash avec les exemples.

Cet article fait partie de notre série de tutoriels bash en cours.

Exemple 1 :Paramètre positionnel Bash – $0, $1, $2 ..

Les paramètres positionnels sont les arguments donnés à vos scripts lorsqu'ils sont invoqués. Cela peut aller de 1 $ à N $. Lorsque N se compose de plusieurs chiffres, il doit être entouré d'accolades comme ${N}.

La variable $0 est le nom de base du programme tel qu'il s'appelait.

L'exemple suivant obtient deux arguments et fournit le résultat des opérations arithmétiques entre ces deux entiers.

Tout d'abord, créez le script shell arithmetic.sh comme indiqué ci-dessous.

$ 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"

Ensuite, exécutez arithmetic.sh avec les paramètres appropriés, comme indiqué ci-dessous.

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

Dans la sortie ci-dessus, $1 a la valeur 12 et $2 a la valeur 10.

La fonction intégrée "let" du shell permet d'effectuer des opérations arithmétiques sur les variables du shell. Le script ci-dessus effectue les opérations arithmétiques telles que l'addition, la soustraction, la multiplication et la division sur les paramètres donnés.

Exemple 2 :Définir/annuler les paramètres de position de Bash

La commande set intégrée est utilisée pour définir et désactiver le paramètre de position.

Tout d'abord, créez le script shell positional.sh comme indiqué ci-dessous.

$ 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"

Le script ci-dessus imprime d'abord les arguments de la ligne de commande, puis la commande set définit explicitement le paramètre de position. Défini avec le - se réfère à la fin des options, tous les arguments suivants sont des paramètres positionnels même s'ils peuvent commencer par '-'. Défini avec '-' sans aucun autre argument, annule tous les paramètres de position.

Ensuite, exécutez le positional.sh comme indiqué ci-dessous.

$ ./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=

Dans le prochain article, discutons des paramètres spéciaux bash avec des exemples.


Linux
  1. Bash -c avec des paramètres positionnels ?

  2. Partage de variables sur plusieurs scripts shell ?

  3. Paramètres de ligne de commande dans les scripts shell

  4. Est-il possible de faire interagir un script shell bash avec un autre programme en ligne de commande ?

  5. Comment gérer plus de 10 paramètres dans le shell

Bash Scripting - Variables expliquées avec des exemples

Bash Scripting - Commande Printf expliquée avec des exemples

Bash Scripting - Tableau associatif expliqué avec des exemples

Comment créer des documents avec des scripts Bash

Comment utiliser la commande echo dans les scripts Bash sous Linux

Apprenez les scripts Bash multi-threading avec GNU Parallel