Basename
Εμφάνιση
Το λήμμα δεν περιέχει πηγές ή αυτές που περιέχει δεν επαρκούν. |
Το basename ανήκει στα προγράμματα του UNIX. Όταν του δίνεται μια διαδρομή στο δίσκο, διαγράφει το αρχικό της τμήμα μέχρι την τελευταία κάθετο ('/'
) και επιστρέφει το αποτέλεσμα. Το basename περιγράφεται στη Μοναδική Προδιαγραφή UNIX (Single UNIX Specification) και χρησιμοποιείται κυρίως σε σενάρια κελύφους.
Χρήση
[Επεξεργασία | επεξεργασία κώδικα]Σύμφωνα με το Single UNIX Specification, η προδιαγραφή του basename είναι η εξής:
basename συμβολοσειρά [επίθεμα]
- συμβολοσειρά
- Μια διαδρομή στο σύστημα αρχείων.
- επίθεμα
- Αν οριστεί, το basename θα το διαγράψει αν το βρει σαν επίθεμα.
Παράδειγμα
[Επεξεργασία | επεξεργασία κώδικα]$ basename /home/jsmith/base.wiki
base.wiki
$ basename /home/jsmith/base.wiki .wiki
base
Ταχύτητα
[Επεξεργασία | επεξεργασία κώδικα]Επειδή το basename δέχεται μόνο μια παράμετρο, η χρήση του στον εσωτερικό βρόχο σεναρίων κελύφους μπορεί να έχει καταστροφικά αποτελέσματα στην ταχύτητα εκτέλεσής τους. Έστω:
while read file; do basename "$file" done < κάποια είσοδος
Ο παραπάνω κώδικας δημιουργεί μια ξεχωριστή κλήση διεργασίας για κάθε γραμμή της εισόδου. Για αυτόν το λόγο συνήθως γίνεται χρήση της υποκατάστασης κελύφους:
echo "${file##*/}";
Δείτε επίσης
[Επεξεργασία | επεξεργασία κώδικα]