Les variables dans les scripts
Fait partie de la section Les fondamentaux du Journey Terminal de Coddy. Leçon 68 sur 82.
Les variables rendent vos scripts flexibles et réutilisables. Au lieu de coder des valeurs en dur, vous pouvez les stocker dans des variables et y faire référence tout au long de votre script.
Pour créer une variable dans un script, utilisez la même syntaxe que celle apprise pour le terminal : aucun espace autour du signe égal. Pour utiliser la valeur de la variable, faites précéder son nom d’un signe dollar :
#!/bin/bash
greeting="Hello"
name="World"
echo "$greeting, $name!"Ce script affiche Hello, World!. Les variables greeting et name stockent du texte qui est substitué lors de l’exécution du script.
Les variables deviennent particulièrement utiles lorsque tu dois utiliser la même valeur plusieurs fois. Si tu fais référence à un chemin de fichier à plusieurs endroits, le stocker dans une variable signifie que tu n’as besoin de le modifier qu’une seule fois :
#!/bin/bash
backup_dir="/home/user/backups"
echo "Creating backup in $backup_dir"
mkdir -p "$backup_dir"Remarquez les guillemets autour de "$backup_dir". Entourer les variables de guillemets doubles est une bonne pratique, car cela permet de gérer correctement les chemins ou les valeurs contenant des espaces. Sans guillemets, un chemin comme /my documents interromprait votre commande.
Les variables dans les scripts fonctionnent exactement comme dans le terminal, mais elles n’existent que pendant l’exécution du script. Une fois le script terminé, ces variables disparaissent.
Défi
FacileCréez un script shell appelé intro.sh qui utilise des variables pour afficher un message personnalisé.
Votre script doit :
- Commencer par la ligne shebang (
#!/bin/bash) - Créer une variable appelée
languageavec la valeurBash - Créer une variable appelée
skillavec la valeurscripting - Utiliser
echopour afficher les deux variables au format suivant :Learning Bash scripting!
Rendez le script exécutable et exécutez-le. Votre sortie doit être :
Learning Bash scripting!Entourez chaque ligne que vous écrivez de guillemets simples :
echo 'echo "Hello $name"' >> script.sh. Les guillemets simples empêchent le shell de remplacer$namelors de l’écriture du fichier, afin que le script conserve la variable et la développe lors de son exécution. Les guillemets doubles substitueraient immédiatement la valeur.
Astuce : Créez le script à l’aide de
echoavec une redirection. N’oubliez pas de référencer les variables avec$dans votre instruction echo, comme ceci :echo "Learning $language $skill!"
Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les fondamentaux
4Répertoires
Créer Un RépertoireCopier Un RépertoireDéplacer Et Renommer Un RépertoireSupprimer Un RépertoireRécapitulatif - Opérations Sur Les Répertoires7Contenu de fichier
Head et TailComptage de motsCommande SortCommande UniqBases de GrepGrep avec optionsRécap - Détective de texte10Projet Analyseur de Journaux
Aperçu du ProjetAffichage du Fichier Journal13Bases du scripting shell
Qu'est-ce qu'un script shellCréer et exécuter un scriptLes variables dans les scriptsL'entrée utilisateur dans les scriptsL'instruction ifLa boucle forLa boucle whileRécapitulatif - Devine le nombre2Navigation
Afficher le répertoire de travailLister les fichiersChanger de répertoireChemins absolus vs relatifsRépertoire personnel et racineRécap - Trouver son chemin5Projet Organiser les Photos
Aperçu du ProjetCréation de la Structure8Redirection
Sortie standardÉcraser vers un fichierAjouter à un fichierEntrée standardErreur standardRécapitulatif - Constructeur de logs11Permissions
Comprendre les permissionsLire les permissionsChmod avec des nombresChmod avec des symbolesPropriété des fichiersRécapitulatif - Verrouillez tout14Projet de Script de Sauvegarde
Aperçu du ProjetObtenir le Chemin Source3Fichiers
Créer Un FichierLire Un FichierCopier Un FichierDéplacer Et Renommer Un FichierSupprimer Un FichierRécapitulatif - Opérations Sur Les Fichiers6Caractères jokers et motifs
Le joker étoileLe joker point d'interrogationJokers entre crochetsCombiner les jokersRécapitulatif - Opérations sélectives9Les pipes
Qu'est-ce qu'une pipe ?Chaîner deux commandesChaîner plusieurs commandesPipe avec GrepRécapitulatif - Pipeline de donnéesEntraînez-vous par vous-même : Playground Terminal