Comment vérifier si un programme existe dans Linux

Comment vérifier si un programme existe dans Linux

Un script shell est un outil puissant pour automatiser les tâches sur les systèmes basés sur UNIX. Une exigence commune lors de l'écriture de scripts shell est de vérifier si un programme ou une commande particulière existe sur le système. Cet article vous guidera à travers différentes méthodes pour effectuer ce chèque, vous permettant de rendre votre script plus robuste et fiable.

Table des matières:

  1. En utilisant la commande -v
  2. Utilisation de la commande type
  3. S'appuyer sur la commande qui
  4. Utiliser la commande de hachage
  5. Conseils pour les meilleures pratiques

1. En utilisant le Commande -V

Le 'Command -v' est une méthode conforme à POSIX pour vérifier l'existence d'un programme. Il s'agit d'une commande shell intégrée qui renvoie le chemin d'accès d'une commande s'il existe dans le système. Voici un exemple de la façon de l'utiliser:

Si commande -v programme_name> / dev / null 2> & 1; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi
12345Si commande -v programme_name> / dev / null 2> & 1; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi

Remplacer "nom du programme" avec le programme que vous souhaitez vérifier.

2. En utilisant le taper commande

Le taper La commande est une autre commande shell intégrée qui peut être utilisée pour vérifier l'existence d'un programme. Il est similaire à Command -V mais fournit également des informations sur le type de commande (alias, fonction ou fichier). Voici comment l'utiliser:

si Type Program_name> / dev / null 2> & 1; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi
12345si Type Program_name> / dev / null 2> & 1; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi

Remplacer "nom du programme" avec le programme que vous souhaitez vérifier.

3. S'appuyant sur le qui commande

Le qui La commande est un utilitaire externe qui recherche une commande donnée dans les répertoires spécifiés par le CHEMIN variable d'environnement. Bien qu'il ne soit pas conforme à POSIX, il est généralement disponible sur les systèmes basés sur UNIX. Voici comment l'utiliser:

si quel programme_name> / dev / null 2> & 1; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi
12345si quel programme_name> / dev / null 2> & 1; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi

Remplacer "nom du programme" avec le programme que vous souhaitez vérifier.

4. Employant le hacher commande

Le hacher La commande est une commande shell intégrée qui maintient une table de hachage des commandes récemment exécutées, accélérant la recherche de commandes. Vous pouvez l'utiliser pour vérifier l'existence d'un programme comme suit:

si hash programme_name 2> / dev / null; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi
12345si hash programme_name 2> / dev / null; Ensuite, le programme "le programme" Else Echo "n'existe pas" Fi

Remplacer "nom du programme" avec le programme que vous souhaitez vérifier.

Conseils pour les meilleures pratiques

  • Préfèrent toujours les commandes de shell intégrées comme Commande -V, type ou hachage sur des services publics externes comme qui Pour une meilleure compatibilité et performance.
  • Redirection de la sortie vers / dev / null (en utilisant '> / dev / null 2> & 1') est essentiel pour empêcher que la sortie inutile d'être affichée ou d'interférer avec votre script.
  • Si vous devez vérifier plusieurs programmes, utilisez une boucle et un tableau pour rendre votre script plus concis et maintenable.

Conclusion

Dans cet article, nous avons discuté de quatre méthodes différentes pour vérifier si un programme existe dans un script shell. Alors que Commande -V est la méthode, type, type, hachage la plus recommandée et largement compatible, et quelles commandes peuvent également être utilisées en fonction de vos besoins et de votre environnement système. En incorporant ces vérifications dans vos scripts de coquille, vous pouvez vous assurer que vos scripts sont plus fiables et adaptables à divers environnements.