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%/*}";

Δείτε επίσης[Επεξεργασία | επεξεργασία κώδικα]

Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Who (Unix) της Αγγλόγλωσσης Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 3.0. (ιστορικό/συντάκτες).