Περισσότερα
Έλεγχος αν υπάρχει ένας κατάλογος σε ένα σενάριο κελύφους
Ποια εντολή μπορεί να χρησιμοποιηθεί για να ελέγξετε αν ένας κατάλογος υπάρχει ή όχι, μέσα σε ένα σενάριο κελύφους;
3538
3
Για να ελέγξετε αν ένας κατάλογος υπάρχει σε ένα σενάριο κελύφους μπορείτε να χρησιμοποιήσετε τα εξής:
Ή για να ελέγξετε αν ένας κατάλογος δεν υπάρχει:
Ωστόσο, όπως επισημαίνει ο Jon Ericson, οι επακόλουθες εντολές μπορεί να μην λειτουργούν όπως προβλέπεται, αν δεν λάβετε υπόψη ότι ένας συμβολικός σύνδεσμος προς έναν κατάλογο θα περάσει επίσης αυτόν τον έλεγχο. Π.χ. εκτελώντας αυτό:
θα παράγει το μήνυμα σφάλματος:
Σημειώστε ότι το τεστ -d μπορεί να δώσει εκπληκτικά αποτελέσματα:
File under: "When is a directory not a directory?" The answer: "When it's a symlink to a directory." Ένα ελαφρώς πιο ενδελεχές τεστ:
Μπορείτε να βρείτε περισσότερες πληροφορίες στο εγχειρίδιο του Bash σχετικά με τις Bash conditional expressions και την [
[
ενσωματωμένη εντολή](https://www.gnu.org/software/bash/manual/bash.html#index-_005b) και την [[[
σύνθετη εντολή](https://www.gnu.org/software/bash/manual/bash.html#index-_005b_005b).Περισσότερες δυνατότητες χρησιμοποιώντας το
find
Έλεγχος ύπαρξης του φακέλου μέσα σε υποκαταλόγους:
Έλεγχος ύπαρξης ενός ή περισσότερων φακέλων με βάση ένα μοτίβο μέσα στον τρέχοντα κατάλογο:
Και οι δύο συνδυασμοί. Στο ακόλουθο παράδειγμα, ελέγχεται η ύπαρξη του φακέλου στον τρέχοντα κατάλογο: