Programmation BASH

Bash if -e et -s et autres opérateurs de test de fichier

Bash if -e et -s et autres opérateurs de test de fichier

Lorsqu'il travaille avec des fichiers dans n'importe quel système d'exploitation, il est obligatoire pour l'utilisateur de tester ces fichiers pour certains aspects tels que leur propriété, leurs droits d'accès, leur contenu, leur existence, etc. Ces aspects peuvent être compris en couplant l'instruction "if" avec divers opérateurs de test de fichier dans Bash. Les "if -e" et "if -s" sont de tels opérateurs dans Bash, utilisés pour tester l'existence d'un fichier. La différence entre les deux est que le premier ne teste que l'existence d'un fichier, tandis que le second vérifie également s'il y a ou non du contenu dans ce fichier. Aujourd'hui, nous allons essayer de comprendre l'utilisation de ces deux opérateurs, ainsi que quelques autres opérateurs de test de fichiers dans Bash.

Remarque : Pour démontrer l'utilisation des opérateurs de test de fichier dans Bash, nous avons utilisé Linux Mint 20.

Exemples d'utilisation d'opérateurs de test de fichier dans Bash

Il existe différentes manières d'utiliser les opérateurs de test de fichier "if -e" et "if -s". Pour vous expliquer leur utilisation, nous partagerons avec vous quelques exemples.

Exemple d'utilisation de l'opérateur "if -e"

Pour utiliser l'opérateur "if -e" dans Bash, vous devez suivre ces étapes :

Tout d'abord, nous avons créé un fichier texte vide nommé Test.txt dans notre répertoire personnel. Ensuite, nous avons créé un fichier bash nommé FileTestOperators.sh dans le même répertoire. Après avoir créé ce fichier, nous avons tapé le script montré dans l'image suivante dans notre fichier. Dans ce script bash, déclaré une variable nommée "fichier" et lui assigner notre fichier texte nommé Test.txt comme valeur. Ensuite, nous avons une instruction "if -e", qui produit une sortie "vraie" si un fichier spécifié existe.

Pour tester notre script, nous l'exécuterons à l'aide de la commande indiquée ci-dessous :

$ bash FileTestOperators.sh

Dans notre cas, puisque le fichier texte existait, c'est pourquoi la sortie de notre script sera vraie, comme le montre l'image suivante :

Exemple d'utilisation de l'opérateur "if -s"

Pour utiliser l'opérateur "if -s" dans Bash, vous devez suivre les étapes ci-dessous :

Pour cet exemple, notre script bash est le même que celui que nous avons utilisé ci-dessus. Nous venons de changer l'instruction "if -e" en "if -s". De plus, nous avons utilisé le même fichier texte vide Test.SMS.

Maintenant, lorsque nous exécutons ce script, la sortie sera fausse car l'opérateur "if -s" renvoie vrai si un fichier existe et aussi s'il n'est pas vide. Puisque dans notre cas, bien que le fichier existait, il était toujours vide, c'est pourquoi notre sortie s'est avérée fausse, comme le montre l'image suivante :

Pour que ce drapeau soit vrai, nous écrirons du texte factice dans notre fichier texte, comme indiqué ci-dessous :

Ensuite, nous exécutons à nouveau notre script bash, et cette fois la sortie sera vraie, comme indiqué dans l'image suivante car le fichier texte contient maintenant du texte.

Exemples d'utilisation d'autres opérateurs de test de fichier

Outre les opérateurs "if -e" et "if -s", il existe également d'autres opérateurs de test de fichier. Ci-dessous, nous partagerons avec vous certains des opérateurs de test de fichiers les plus importants autres que ceux décrits ci-dessus.

Exemple d'utilisation de l'opérateur "if -d"

Pour utiliser l'opérateur "if -d" dans Bash, vous devez suivre les étapes ci-dessous :

Pour cet exemple, notre script bash est le même que celui que nous avons utilisé ci-dessus. Nous venons de changer l'instruction "if -s" en "if -d". De plus, nous avons utilisé le même fichier texte Test.SMS.

L'opérateur "if -d" renvoie vrai si votre fichier est un répertoire, sinon, il sera faux. Étant donné que notre fichier texte n'était pas un répertoire, la sortie sera donc fausse, comme le montre l'image suivante :

Exemple d'utilisation de l'opérateur "if -h"

Pour utiliser l'opérateur "if -h" dans Bash, vous devez suivre ces étapes :

Pour cet exemple, notre script bash est le même que celui que nous avons utilisé ci-dessus. Nous venons de changer l'instruction "if -d" en "if -h". Cependant, nous avons utilisé un fichier différent pour tester cette fois, qui était en fait un lien symbolique nommé NewBash.sh.

L'opérateur "if -h" retourne vrai si votre fichier est un lien symbolique, sinon, il sera faux. Étant donné que notre fichier de test était un lien symbolique, la sortie sera donc vraie, comme indiqué dans l'image suivante :

Exemple d'utilisation de l'opérateur "if -r"

Pour utiliser l'opérateur "if -r" dans Bash, vous devez suivre ces étapes :

Pour cet exemple, notre script bash est le même que celui que nous avons utilisé ci-dessus. Nous venons de changer l'instruction "if -h" en "if -r". De plus, nous avons utilisé le même fichier texte Test.SMS.

La sortie de l'opérateur "if -r" sera vraie si l'utilisateur actuel peut lire le fichier, sinon, elle sera fausse. Étant donné que notre fichier texte était lisible par nous, la sortie sera donc vraie, comme le montre l'image suivante :

De la même manière, vous pouvez utiliser les opérateurs "if -w" et "if -x" pour vérifier si un fichier est accessible en écriture et exécutable par le propriétaire actuel, respectivement.

Exemple d'utilisation de l'opérateur "if -O"

Pour utiliser l'opérateur "if -O" dans Bash, vous devez suivre les étapes ci-dessous :

Pour cet exemple, notre script bash est le même que celui que nous avons utilisé ci-dessus. Nous venons de changer l'instruction "if -r" en "if -O". De plus, nous avons utilisé le même fichier texte Test.SMS.

La sortie de l'opérateur "if -O" sera vraie si l'utilisateur actuel possède le fichier, sinon, elle sera fausse. Étant donné que notre fichier texte nous appartenait, la sortie sera donc vraie, comme indiqué dans l'image suivante :

Conclusion

Cet article a informé le lecteur sur l'utilisation des différents opérateurs de test de fichiers dans Bash à l'aide du système d'exploitation Linux. En utilisant ces opérateurs de test de fichiers, il devient très pratique pour l'utilisateur de travailler avec des fichiers sans aucune difficulté potentielle. Il existe également d'autres opérateurs de test de fichier, qui peuvent être utilisés à différentes fins. Cependant, ceux qui sont discutés dans cet article sont les plus couramment utilisés.

Top 5 des produits de souris d'ordinateur ergonomiques pour Linux
L'utilisation prolongée de l'ordinateur provoque-t-elle des douleurs au poignet ou aux doigts? Vous souffrez de raideurs articulaires et devez constam...
Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...
Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...