Το 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##*/}";

Δείτε επίσης Επεξεργασία