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

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

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