Les variables sont utilisées pour stocker des valeurs de différents types pendant l'exécution du programme. Il existe deux types de variables dans les scripts Bash: globales et locales.
Les variables globales peuvent être utilisées par tous les scripts Bash de votre système, tandis que les variables locales ne peuvent être utilisées que dans le script (ou le shell) dans lequel elles sont définies.
Les variables globales sont généralement fournies par défaut sur le système et sont principalement des variables d'environnement et de configuration. Les variables locales, en revanche, sont définies par l'utilisateur et ont des utilisations arbitraires.
Variables locales de bash
Pour créer une variable, vous devez attribuer une valeur au nom de votre variable. Bash est un langage non typé, vous n'avez donc pas besoin d'indiquer un type de données lors de la définition de vos variables.
var1=Bonjour
Bash permet également plusieurs affectations sur une seule ligne :
une=6 b=8 c=9
Comme beaucoup d'autres langages de programmation, Bash utilise l'opérateur d'affectation
= pour attribuer des valeurs aux variables. Il est important de noter qu'il ne doit y avoir aucun espace de part et d'autre de l'opérateur d'affectation. Sinon, vous obtiendrez une erreur de compilation.En rapport: Que signifie "Bash" sous Linux ?
Autre point clé à noter: Bash ne vous permet pas de définir d'abord une variable, puis de lui attribuer une valeur ultérieurement. Vous devez affecter une valeur à la variable à la création.
var2 # erreur de compilation
var2=Monde
Parfois, vous devrez peut-être affecter une chaîne contenant un espace à votre variable. Dans ce cas, placez la chaîne entre guillemets.
# var3=Bonjour le monde
# l'affectation ci-dessus ne fonctionne pas
var3='Bonjour le monde'
Remarquez l'utilisation de guillemets simples. Ces guillemets sont également appelés "guillemets forts" car ils attribuent la valeur précisément telle qu'elle est écrite, sans tenir compte des caractères spéciaux.
Dans l'exemple ci-dessus, vous auriez également pu utiliser des guillemets ("guillemets faibles"), bien que cela ne signifie pas qu'ils peuvent toujours être utilisés de manière interchangeable. En effet, les guillemets doubles remplaceront les caractères spéciaux (tels que ceux avec $), au lieu de les interpréter littéralement.
Voir l'exemple ci-dessous :
var4=89
echo "Le nombre est $var4"
echo 'Le nombre est $var4'
# Premières impressions de sortie: 89
# La deuxième impression de sortie laisse "$var4" tel quel
Si vous souhaitez affecter une sortie de ligne de commande à votre variable, utilisez des guillemets inverses (``). Ils traiteront la chaîne qu'ils contiennent comme une commande de terminal et renverront son résultat.
var5="Vous travaillez actuellement dans ce répertoire: `pwd`"
Expansion des paramètres dans Bash
L'expansion des paramètres fait simplement référence à l'accès à la valeur d'une variable. Dans sa forme la plus simple, il utilise le caractère spécial $ suivi du nom de la variable (sans espace entre les deux) :
var6=Cric
echo Je m'appelle $var6
Vous pouvez également utiliser la syntaxe ${variableName} pour accéder à la valeur d'une variable. Cette forme est plus appropriée en cas de confusion autour du nom de la variable.
m=moyen
echo Med signifie ${m}ical
Si vous omettez les accolades, ${m}ique sera interprété comme une variable composée (qui n'existe pas). Cette utilisation d'accolades avec des variables est connue sous le nom de "substitution".
Variables globales
Comme mentionné précédemment, votre système Linux possède des variables intégrées auxquelles vous pouvez accéder dans tous vos scripts (ou shells). Ces variables sont accessibles en utilisant la même syntaxe que les variables locales.
En rapport: Comment créer et exécuter des scripts Bash sous Linux
La plupart de ces variables sont en lettres majuscules. Cependant, certains sont des caractères uniques qui ne sont même pas des caractères alphanumériques.
Voici quelques variables globales utiles courantes :
DOMICILE: Fournit le répertoire personnel de l'utilisateur
COQUILLE: Fournit le type de shell que vous utilisez (par exemple, Bash, csh..etc)
?: Fournit l'état de sortie de la commande précédente
Pour obtenir une liste des variables globales sur votre système, exécutez le printenv (ou env) commande :
$ printenv
Boucles dans les scripts bash
Vous savez maintenant ce que sont les variables, comment les affecter et comment exécuter la logique Bash de base en les utilisant.
Les boucles vous permettent de parcourir plusieurs instructions. Bash s'adapte pour boucles et tandis que boucles avec une syntaxe simple pour tous vos besoins en boucle.
Si vous maîtrisez l'art du développement Bash, pour les boucles devraient être les prochaines sur votre liste.
Pourquoi exécuter le même code encore et encore dans votre script shell alors qu'une boucle for peut le faire pour vous ?
Lire la suite
- La programmation
- Shell bash Linux
- Conseils de codage
Jérôme est rédacteur chez MakeUseOf. Il couvre des articles sur la programmation et Linux. Il est également un passionné de crypto et garde toujours un œil sur l'industrie de la crypto.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner