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%/*}";
Δείτε επίσης
[Επεξεργασία | επεξεργασία κώδικα]