Table des matières
Utilisez le test -d dans un conditionnel
Combiner avec des variables pour les chemins dynamiques
Gérer le boîtier lorsque le répertoire peut être un lien symbolique
Maison Opération et maintenance exploitation et maintenance Linux Comment vérifier si un répertoire existe en bash

Comment vérifier si un répertoire existe en bash

Aug 27, 2025 am 01:21 AM

Le moyen le plus simple et le plus fiable de vérifier si le répertoire existe dans Bash est d'utiliser le test conditionnel avec l'option -D. La méthode spécifique consiste à juger par si [-d "/ path / to / dir"], et si le chemin existe et est un répertoire, il renvoie vrai; Cette méthode suivra le lien symbolique, et si le chemin est un lien symbolique lié au répertoire, il reviendra également vrai; Combiné avec des variables, la vérification dynamique du chemin peut être implémentée et les variables (telles que "$ my_dir") doivent être enveloppées dans des devis pour gérer en toute sécurité les chemins avec des espaces ou des caractères spéciaux; Les xargs peuvent également être utilisés pour éliminer les espaces blancs inutiles dans le chemin; Si l'influence des liens symboliques doit être exclue, vous pouvez d'abord utiliser -L pour détecter si le chemin est un lien symbolique, puis utiliser -D pour confirmer s'il s'agit d'un véritable répertoire.

Comment vérifier si un répertoire existe en bash

Dans Bash, vérifier s'il existe un répertoire est une tâche courante, en particulier dans les scripts où vous devez prendre des décisions en fonction du système de fichiers. La manière la plus simple et la plus fiable consiste à utiliser un test conditionnel avec -d .


Utilisez le test -d dans un conditionnel

Bash fournit des tests de fichiers intégrés et -d vérifie si un chemin donné existe et est un répertoire.

 si [-d "/ path / to / dir"]; alors
    Echo "Le répertoire existe"
autre
    écho "Le répertoire n'existe pas"
FI

Cela fonctionne bien pour les chèques de base. Assurez-vous simplement que le chemin est correctement cité, surtout s'il contient des espaces ou des caractères spéciaux.

Quelques choses à noter:

  • Cela ne renvoie que si le chemin existe et est un répertoire.
  • Il suit des liens symboliques - si le chemin est un lien symbolique pointant vers un répertoire, il renvoie toujours vrai.

Combiner avec des variables pour les chemins dynamiques

Lorsque vous travaillez avec des chemins dynamiques (comme les arguments d'entrée ou de script utilisateur), stockez-les d'abord dans une variable:

 My_dir = "/ some / path"

si [-d "$ my_dir"]; alors
    Echo "l'a trouvé!"
autre
    écho "pas là".
FI

L'utilisation de devis autour de la variable ( "$MY_DIR" ) garantit que votre script gère les chemins avec des espaces ou des caractères spéciaux en toute sécurité.

Envisagez également de couper tout espace accidentel avant les tests:

 My_dir = $ (echo "$ my_dir" | xargs)

Gérer le boîtier lorsque le répertoire peut être un lien symbolique

Si vous souhaitez vous assurer que le chemin lui-même est un répertoire et pas seulement un lien symbolique, utilisez -L pour vérifier s'il s'agit d'abord d'un lien symbolique:

 si [-l "$ my_dir"]; alors
    Echo "C'est un lien symbolique, pas un vrai répertoire"
elif [-d "$ my_dir"]; alors
    Echo "C'est un vrai répertoire"
autre
    Echo "n'existe pas comme un répertoire"
FI

Cela aide à éviter un comportement inattendu dans les cas où les liens symboliques peuvent provoquer une confusion.


Fondamentalement, c'est tout. La vérification d'un répertoire dans Bash ne doit pas être compliquée - utilisez simplement -d , gérez soigneusement les variables et soyez conscient des liens symboliques s'ils comptent dans votre contexte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment réparer les dépendances brisées Comment réparer les dépendances brisées Sep 16, 2025 am 05:28 AM

Lorsque vous rencontrez des problèmes de rupture, vous pouvez suivre les étapes suivantes pour les résoudre: 1. Utilisez Sudoapt - Fix-Brokenstall ou essayez d'installer après le nettoyage; 2. Vérifiez et corrigez les erreurs de configuration de la source du logiciel; 3. Installer manuellement, désinstaller ou réinstaller les packages de conflits; 4. Nettoyez le cache ou réinstaller les composants liés. Dans la plupart des cas, ces méthodes peuvent être utilisées pour résoudre les problèmes de dépendance sans inquiétude excessive.

Comment supprimer un package à l'aide de yum Comment supprimer un package à l'aide de yum Sep 21, 2025 am 06:15 AM

ToreMoveApackageusingyum, usethecommandsudoyumRemovepackage_name, qui arasestheageAndpotentilyitsUnusEpensecs.beforedoingso, assureyyouhavethecorrectpackagenamewithyumListorrpm-q, checkDependanceVieyumDeplist, etavoidRmevingcriticalsystemystem, etaVoidRmevingsystemystem, Adgit

Comment vérifier les journaux système Comment vérifier les journaux système Sep 19, 2025 am 02:56 AM

Pour afficher le journal système, vous devez sélectionner l'outil correspondant en fonction du système d'exploitation. Windows utilise la visionneuse d'événements, avec le chemin d'accès à Win R, entrez eventvwr.msc, pour afficher la classification "Système" sous "Log Windows" et prend en charge le filtrage et l'enregistrement; Les journaux système Linux sont généralement situés dans / var / log / répertoire, tels que syslog, messages, fichiers DMESG, et peuvent être consultés par les commandes de nom de service Tail-F ou JournalCTL-U; Mac peut afficher les journaux via l'application console ou la commande Logshow. Lors de la visualisation, vous devez prêter attention aux informations d'erreur et d'alerte, analyser les problèmes basés sur les horodatages et le contexte et faire attention aux exigences d'autorisation.

Comment trouver quel processus utilise un fichier Comment trouver quel processus utilise un fichier Sep 20, 2025 am 04:22 AM

Lorsqu'un fichier est occupé, vous pouvez rechercher et mettre fin au processus occupé par les méthodes suivantes: 1. Le système Windows peut utiliser le gestionnaire de tâches pour rechercher des poignées de fichiers avec le moniteur de ressources; 2. Utilisez l'outil Handle.exe de Sysinternals pour interroger avec précision, nécessitant l'autorisation de l'administrateur; 3. Linux / macOS utilise la commande LSOF pour rechercher des mots clés, et Grep peut rechercher des mots clés; 4. Avant de terminer le processus, vous devez confirmer le but. Windows peut utiliser le gestionnaire de tâches ou la commande taskkill, et Linux / MacOS peut utiliser la commande kill pour éviter de tuer le processus système par erreur.

Comment utiliser la commande netstat Comment utiliser la commande netstat Sep 14, 2025 am 12:36 AM

Netstat est un outil pratique pour le dépannage des problèmes de réseau et la vérification de l'état de la connexion. Les utilisations courantes incluent: 1. Utilisez NetStat-A pour afficher toutes les connexions actives, filtrer TCP pour -T et UDP pour -U; 2. Afficher le nom du programme et le nom du service Plus -N paramètres pour améliorer la vitesse; 3. Utilisez NetStat-L pour afficher le port d'écoute, combiné avec -tulnp pour afficher les informations de processus; 4. Trouver des programmes qui occupent un port spécifique peuvent être implémentés via Grep: Numéro de port et la commande PS; 5. Si le système n'est pas installé, essayez la commande SS ou installez le package Net-Tools et les autorisations racine sont nécessaires pour exécuter le paramètre -p pour obtenir les informations complètes.

Comment utiliser les espaces de noms de réseau Comment utiliser les espaces de noms de réseau Sep 17, 2025 am 05:16 AM

Pour créer et utiliser un espace de noms de réseau, vous devez d'abord le créer, puis attribuer l'interface et IP et configurer le routage pour réaliser la communication. Les étapes sont les suivantes: 1. Créez un espace de noms avec ipnetnsadd; 2. Créez un Vethpair via iPlinkAdd et déplacez une extrémité dans l'espace de noms; 3. Affectez IP à l'interface et activez-la; 4. Si vous avez besoin d'accès au réseau externe, activez le transfert IP, configurez iptablesMasqueRADADE et définissez les routes par défaut; 5. Fermez d'abord l'interface et nettoyez les règles lors de la suppression. L'ensemble du processus doit faire attention au nettoyage des ressources et à la cohérence des règles.

Comment partitionner un disque en utilisant Comment partitionner un disque en utilisant Sep 19, 2025 am 04:31 AM

La clé pour utiliser les disques de partition séparés est de maîtriser plusieurs étapes: 1. Préparation: confirmer le nom du périphérique de disque cible (tel que / dev / sdb) et juger son type de table de partition. S'il est inférieur à 2 To, utilisez MSDOS (MBR) et s'il est supérieur à 2 To, utilisez GPT; 2. Créez une table de partition: Après avoir élaboré le mode de fonctionnement séparé, exécutez la commande mkLabel pour sélectionner GPT ou MSDOS, cette étape effacera les données du disque; 3. Démarrer la partition: utilisez la commande MKPART pour spécifier le type de partition, le système de fichiers et l'emplacement de démarrage et de fin, tels que MKPARTPRIMARYEXT40GB50GB, et continuez à ajouter d'autres partitions; 4. Format et montez la partition: exécutez manuellement MKFS.EXT4 et autres commandes au format,

Comment synchroniser le temps du système à l'aide de NTP Comment synchroniser le temps du système à l'aide de NTP Sep 21, 2025 am 05:54 AM

Pour vous assurer que la synchronisation du temps du système est fiable, assurez-vous d'abord que le service NTP est installé et s'exécute, utilisez SystemCTL pour vérifier l'état de NTP ou Chronyd, et démarrez et configurez l'auto-démarrage à puissance si nécessaire. Deuxièmement, configurez un serveur NTP approprié, modifiez le fichier /etc/ntp.conf ou /etc/chrony/chrony.conf et recommandez de choisir un serveur avec un emplacement géographique similaire tel que Alibaba Cloud ou Tencent Cloud. Enfin, vérifiez l'état de synchronisation et utilisez NTPQ-P ou ChronyCSources pour afficher l'état de la connexion. Si le décalage est trop grand, vous pouvez utiliser NTPDate pour le calibrer manuellement, mais la synchronisation à long terme devrait s'appuyer sur les services de fond pour assurer la stabilité.

See all articles