Présentation
Une variable dans bash est créée en attribuant une valeur à sa référence. Bien que le declare
intégré n'a pas besoin d'être utilisée pour déclarer explicitement une variable dans bash, la commande est souvent utilisée pour des tâches de gestion de variables plus avancées.
Ce tutoriel va vous montrer comment travailler avec des variables et leurs attributs en utilisant le bash declare
commande.
Prérequis
- Accès au terminal/ligne de commande.
- Privilèges utilisateur Sudo.
Syntaxe de déclaration bash
La syntaxe pour utiliser le bash declare
la commande est :
declare [options] [variable-name]="[value]"
Options de déclaration bash
Le declare
La commande fonctionne avec les options générales suivantes :
Option | Description |
---|---|
-f | Déclarez une fonction bash, pas une variable. |
-F | Afficher le nom et les attributs de la fonction. |
-g | Appliquez la portée globale à toutes les opérations sur les variables à l'intérieur d'une fonction shell. L'option ne fonctionne pas en dehors des fonctions du shell. |
-p | Options d'affichage et attributs des variables. |
Les options du tableau ci-dessous sont utilisées pour définir un attribut sur une variable.
Option | Description |
---|---|
-a | La variable est un tableau indexé. Vous ne pouvez pas désactiver cet attribut. |
-A | La variable est un tableau associatif. Vous ne pouvez pas désactiver cet attribut. |
-i | La valeur de la variable est un entier. Annulez l'attribut avec +i . |
-l | Le nom de la variable se compose uniquement de caractères minuscules. Annulez l'attribut avec +l . |
-n | La variable devient une référence de nom pour une autre variable. Annulez l'attribut avec +n . |
-r | La variable est en lecture seule. Annulez l'attribut avec +r . |
-t | S'il est utilisé avec des fonctions, l'élément hérite de DEBUG et RETURN pièges du shell parent. Annulez l'attribut avec +t . |
-u | Le nom de la variable se compose uniquement de caractères majuscules. Annulez l'attribut avec +u . |
-x | Exporter la variable vers les processus enfants, similaire à la commande d'exportation. Annulez l'attribut avec +x . |
Comment déclarer une variable dans Bash
L'exemple suivant montre comment déclarer une variable nommée testvar
et attribuez-lui la valeur de 100
.
declare testvar="100"
Lorsqu'elle est exécutée avec succès, la commande ne produit aucune sortie. Utilisez le -p
option pour vérifier si la variable a été créée avec succès. Étant donné que la commande répertorie toutes les variables actuellement présentes sur le système, limitez-la avec la commande grep.
declare -p | grep testvar
Le double tiret (--
) signe précédant le nom de la variable signifie que la variable n'a pas d'arguments.
Pour définir un attribut sur une variable, utilisez la syntaxe ci-dessous. L'exemple définit le -x
attribut à la testvar
variables.
declare -x testvar
Recherchez à nouveau la variable et confirmez que l'attribut a été défini.
declare -p | grep testvar
Pour supprimer l'attribut, faites-le précéder d'un plus (+
) signe.
declare +x testvar
Entiers
Le -i
L'option limite la variable aux valeurs entières uniquement.
declare -i testvar
Pour tester cela, essayez de changer la valeur de la variable en une chaîne de caractères.
declare testvar="example"
Utilisez la commande echo pour voir la valeur de la variable.
echo $testvar
La sortie affiche la valeur zéro (0
):
La valeur d'une variable peut également être le résultat d'une opération mathématique.
declare testvar="3*3"
Dans l'exemple ci-dessus, la testvar
la variable a reçu la valeur de 3*3
. Vérification de la valeur de la variable avec echo
affiche le résultat.
echo $testvar
Le résultat de l'opération mathématique ne doit pas nécessairement être un nombre entier.
declare testvar="10/3"
Cependant, si la variable a le -i
ensemble d'attributs, le résultat est arrondi à l'entier le plus proche.
echo $testvar
Tentative de déclaration d'une valeur non entière à une variable alors que -i
l'option est définie, génère une erreur.
declare testvar="1.5"
Cas
Utilisez le -u
attribut pour convertir toutes les lettres en majuscules. L'exemple ci-dessous déclare la testvar
variable et lui donne la valeur de example
.
declare -u testvar="example"
Cependant, depuis le -u
l'attribut a été défini, la vérification de la valeur de la variable montre qu'elle a la valeur de EXAMPLE
.
echo $testvar
Le -l
l'attribut a l'effet inverse.
declare -l testvar="EXAMPLE"
Le réglage convertit les lettres majuscules en minuscules.
echo $testvar
Lecture seule
Définissez le -r
attribut aux variables que vous souhaitez protéger contre les modifications accidentelles.
declare -r testvar="100"
Toute tentative de modification de la valeur de la variable en lecture seule entraîne une erreur.
declare testvar="50"
Tableaux
Les variables bash peuvent avoir plusieurs valeurs. Pour affecter plusieurs valeurs à une seule variable bash, convertissez-la en tableau en tapant :
declare -a testvar
Si la variable avait une valeur avant la conversion, cette valeur est maintenant le premier élément du tableau, avec le numéro d'index 0
. Pour vérifier la valeur du premier élément du tableau de variables, tapez :
echo ${testvar[0]}
Déclarez plus d'éléments du tableau en spécifiant le numéro d'index de l'élément.
declare testvar[1]="200"
Lister tous les éléments du tableau en tapant :
echo ${testvar[*]}