Utilizarea comenzii basename în scripturile Bash

Popular:
ÎMBUNĂTĂȚEȘTE CONFIGURAREA SERVERULUI TĂU! APLICA AVA ȘI LANSARE CU UN 15% DISCOUNT
FOLOSEȘTE PROMO:

De ce să folosiți basename în scripturi?

Iată doar câteva exemple de nevoi reale de scripting:

Cazuri practice de utilizare în scripturile Bash

📁 1. Parcurgerea în buclă a fișierelor cu logare

Acest script parcurge în buclă fișierele .log, extrage numele fără extensie și înregistrează fiecare acțiune. basename simplifică manipularea numelor de fișiere fără a efectua o feliere complexă a șirurilor.

📂 2. Utilizarea basename pentru căile dinamice ale fișierelor

Să presupunem că primiți căi complete de la intrarea utilizatorului sau de la un alt proces:

Utilizarea basename în scriptul dvs. asigură flexibilitate atunci când lucrați cu căi dinamice ale fișierelor, în special în medii precum un VPS Linux în care jurnalele, fișierele de configurare și copiile de rezervă pot fi localizate în directoare diferite. Acest lucru face ca scriptul dvs. să fie robust indiferent dacă i se transmite o cale completă precum /var/log/syslog sau un fișier relativ precum ./config.txt.

🧪 3. Combinarea basename cu dirname

Utilizați-le împreună pentru a izola elementele căii:

Eliminarea extensiilor de fișier cu basename

Dacă doriți să eliminați extensiile cunoscute:

⚠️ Notă: Acest lucru funcționează numai dacă sufixul se potrivește exact. Astfel, .txt funcționează, dar .TXT sau .tar.gz nu vor funcționa decât dacă sunt specificate explicit.

Pentru extensii multiple, combinați basename cu alte instrumente:

Sau:

basename vs Extinderea parametrilor

Deși basename este intuitiv, acesta generează un subproces. Pentru scripturi cu performanțe critice sau bucle mari, preferați alternative Bash pure:

Bash Native Equivalent:

Eliminați extensia cu Bash nativ:

✅ Mai rapid decât apelul extern basename.

Exemplu: Redenumirea fișierelor în masă

Să presupunem că doriți să prefixați toate fișierele .jpg cu data de astăzi: