Commande Set Linux Et Comment L'utiliser 9 Exemples

Introduction

La commande set est une commande shell Linux intégrée qui affiche et définit les noms et les valeurs des variables d’environnement shell et Linux. Sur les systèmes d’exploitation de type Unix, la commande set fonctionne dans le shell Bourne ( sh ), le shell C ( csh ) et le shell Korn ( ksh ).

Dans ce didacticiel, vous apprendrez ce qu’est la commande set et comment l’utiliser.

Conditions préalables

Linux Définit La Syntaxe De Commande

La syntaxe générale de la commande set est :

Positionner 

Choix

Dans le contexte de la commande set , ce sont des paramètres ou des indicateurs qui sont définis ou non définis dans l’environnement shell Bash. Utilisez-le pour influencer le comportement des scripts shell définis et aider à exécuter les tâches souhaitées.

  • Définissez une option en utilisant un signe moins ( ) suivi de l’option appropriée.
  • Annulez une option en utilisant un signe plus ( + ) suivi de l’option appropriée.

Arguments

sont des paramètres de position et ils sont assignés dans l’ordre avec les paramètres suivants :

  • €n

Ne pas spécifier d’options ou d’arguments entraîne l’impression de toutes les variables shell par la commande.

Valeurs de sortie

La commande set a trois valeurs de sortie :

  • 0 . Marque une réussite.
  • 1 . Échec causé par un argument non valide.
  • 2 . Échec entraînant un message d’utilisation, généralement en raison de l’absence d’un argument.

Linux Définir Les Options De Commande

La commande set fournit une longue liste d’options qui peuvent être combinées.

La plupart des options ont un indicateur -o correspondant qui peut être utilisé pour invoquer l’option. Le tableau ci-dessous répertorie toutes les options et leur forme alternative respective en utilisant la syntaxe de l’ indicateur -o .

Exemples De Commandes Linux Set

Cette section répertorie des exemples des utilisations les plus courantes de la commande set .

Utilisation De La Commande Set Sans Options

L’exécution de la commande sans options ni arguments génère une liste de tous les paramètres – les noms et les valeurs de toutes les variables et fonctions du shell. La liste étant très longue, vous pouvez la parcourir à l’aide des touches Page Up et Page Down .

Voici un exemple de sortie de commande d’ activation partielle :

Débogage De Script

La commande set est particulièrement pratique lorsque vous essayez de déboguer vos scripts. Utilisez l’ option -x avec la commande set pour voir quelle commande de votre script est exécutée après le résultat, ce qui vous permet de déterminer le résultat de chaque commande.

L’exemple suivant montre comment déboguer des scripts avec set -x . Suivez les étapes ci-dessous :

1. Exécutez set -x :

définir -x

2. Utilisez votre éditeur de texte préféré (nous utilisons l’éditeur vi) pour créer un script. Nous avons créé une boucle simple qui nous permet de voir les effets de l’option -x :

x=10
tandis que ; fais
 x=€
 écho €x
 dormir 2
Fini

3. Assurez-vous de chmoder le script pour le rendre exécutable. Cette étape est toujours obligatoire avant d’exécuter un script . La syntaxe est :

chmod +x

4. Exécutez le script. La syntaxe est :

./

La sortie imprime une ligne à la fois, l’exécute, affiche le résultat s’il y en a un et passe à la ligne suivante.

Une autre façon d’activer le débogage consiste à placer le drapeau -x sur la ligne shebang du script :

#!/bin/bash-x

Exportation De Scripts

Exportez automatiquement toute variable ou fonction créée à l’aide de l’ option -a . L’exportation de variables ou de fonctions permet à d’autres sous-shells et scripts de les utiliser.

Activez l’exportation de script en exécutant la commande suivante :

définir -a

L’exemple suivant montre comment fonctionne l’exportation de script. Suivez les étapes ci-dessous :

1. Créez un nouveau script à l’aide de l’éditeur de votre choix. Par exemple:

un=1
deux=2
trois=3
quatre=4
/bin/bash

L’ argument /bin/bash marque le début d’un nouveau shell.

2. Vérifiez si le script fonctionne dans un nouveau shell :

echo €un €deux €trois €quatre

La sortie prouve que la fonction que nous avons créée a été exportée et fonctionne même lors du démarrage d’un nouveau shell.

Quitter Lorsqu’une Commande échoue

Utilisez l’ option -e pour demander à un script de se fermer s’il rencontre une erreur lors de son exécution. L’arrêt d’un script partiellement fonctionnel permet d’éviter des problèmes ou des résultats incorrects.

Créez un script avec le contenu suivant pour tester cette option :

#!/bin/bash
ensemble -e
chat fichier inexistant
echo "La fin"

Dans l’exemple ci-dessus, le script rencontre une erreur lorsqu’il tente d’afficher le contenu de nonexistingfile car ce fichier n’existe pas, ce qui entraîne sa fermeture à ce stade. Ainsi, la commande echo finale n’est pas exécutée.

Remarque : Vous pouvez utiliser la commande cat pour afficher le contenu d’un fichier dans une fenêtre de terminal.

Empêcher La Perte De Données

Le paramètre par défaut de Bash consiste à écraser les fichiers existants. Cependant, l’utilisation de l’ option -C configure Bash pour ne pas écraser un fichier existant lorsque la redirection de sortie à l’aide de > , >& ou <> est redirigée vers ce fichier.

Par exemple:

Bash nous permet d’abord d’écraser le fichier listing.txt . Cependant, après avoir exécuté la commande set -C , Bash affiche un message indiquant qu’il ne peut pas écraser un fichier existant.

Signaler Les Variables Inexistantes

Le paramètre par défaut dans Bash est d’ignorer les variables inexistantes et de travailler avec celles qui existent déjà. L’utilisation de l’ option -u empêche Bash d’ignorer les variables qui n’existent pas et lui fait signaler le problème.

Par exemple, le script suivant ne contient pas la commande set -u et Bash ignore que €var2 n’est pas défini.

#!/bin/bash
var1="123"
echo €var1 €var2

La sortie contient uniquement €var1 .

Cependant, modifier le script et ajouter la commande set -u empêche Bash d’ignorer le problème et le signale :

#!/bin/bash
ensemble -u
var1="123"
echo €var1 €var2

Définir Les Paramètres De Position

La commande set peut également affecter des valeurs aux paramètres de position. Un paramètre positionnel est une variable shell dont la valeur est référencée à l’aide de la syntaxe suivante :

La valeur est un chiffre qui indique la position du paramètre. Par exemple, est le premier paramètre positionnel, est le deuxième paramètre, etc.

Par exemple:

définir premier deuxième tiers

L’exécution de la commande ci-dessus définit le premier pour correspondre au paramètre de position, le deuxième à et le troisième à . Vérifiez ceci avec la commande echo :

écho

Annulez les paramètres de position en exécutant :

Positionner -

Chaînes Divisées

Utilisez la commande set pour diviser les chaînes en fonction des espaces en variables distinctes. Par exemple, divisez les chaînes dans une variable appelée myvar , qui indique « Ceci est un test » .

myvar="Ceci est un test"

ensemble - €mavar
écho
écho
écho
écho

Utilisez cette option pour extraire et filtrer les informations de la sortie d’une commande, similaire à ce que fait la commande awk.

Définir Tous Les Indicateurs D’exportation Et De Notification

L’ indicateur -o allexport vous permet d’exporter automatiquement toutes les variables définies par la suite, tandis que l’ indicateur -o notify indique au shell d’imprimer immédiatement les messages de fin de travail.

Pour définir les drapeaux, exécutez :

set -o allexport -o notifier

Dans l’exemple suivant, nous voyons que le shell vous avertit lorsque la tâche en arrière-plan est terminée depuis que le script a été exporté :

Remarque : Si vous souhaitez exécuter un processus en arrière-plan, ajoutez le symbole esperluette ( & ) à la fin de la commande.

Conclusion

Vous savez maintenant ce qu’est la commande set et comment vous pouvez l’utiliser sous Linux. Testez les différentes options pour mieux comprendre la commande et maximiser votre contrôle de l’environnement Linux utilisé par différents packages.

Si Bash est un sujet qui vous intéresse, consultez notre tutoriel complet sur les fonctions Bash : comment les utiliser.

Cet article a-t-il été utile?

Oui Non