Μετάβαση στο περιεχόμενο

dirname

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια


Το dirname είναι ένα πρόγραμμα του UNIX. Όταν δίνεται μια διαδρομή του δίσκου στη dirname, αυτή σβήνει κάθε επίθεμα (suffix) που αρχίζει με την τελευταία κάθετο ('/') και επιστρέφει το αποτέλεσμα. Η dirname περιγράφεται στην προδιαγραφή Single UNIX Specification και χρησιμοποιείται κυρίως σε σενάρια κελύφους.

Ο ορισμός του Single UNIX Specification για την dirname είναι:

dirname συμβολοσειρά
συμβολοσειρά
Μια διαδρομή στο δίσκο
$ dirname /usr/home/carpetsmoker/dirname.wiki
/usr/home/carpetsmoker

Επειδή η dirname δέχεται μόνο έναν τελεστέο, η χρήση της στον εσωτερικό βρόχο των σεναρίων κελύφους μπορεί να έχει άσχημες επιπτώσεις στην ταχύτητα. Για παράδειγμα, έστω το εξής σενάριο κελύφους:

while read file; do
        dirname "$file"
done < some-input

Ο παραπάνω κώδικας προκαλεί μια ξεχωριστή κλήση διεργασίας για κάθε γραμμή της εισόδου. Για αυτόν το λόγο, συνήθως χρησιμοποιείται η αντικατάσταση κελύφους (shell substitution).

echo "${file%/*}";