Ponekad su neki vodiči usmjereni na objašnjavanje nešto egzotičnijih i čudnijih naredbi, s druge strane, postoje neke koje uključuju serijske distribucije i nisu toliko popularne kao cd, ls, cat itd., Ali su jednako praktične. U ovom uputstvu pokazat ću vam što se može učiniti s dvije od tih naredbi: osnovno ime i reci mi.
Možda vam se apriori čine apsurdnima i da nemaju nikakve koristi, ali jesu prilično praktične primjene u nekim slučajevima, kao što je, na primjer, u skriptama gdje trebate izvući neki dio puta, kao što je naziv datoteke ili direktorija, tako da druga naredba djeluje na ovo ...
Za što su oni
Te su naredbe vrlo osnovne i njegove funkcije zvuk:
- osnovno ime: koristi se za izdvajanje naziva datoteke iz putanje.
- reci mi: koristi se za izdvajanje naziva direktorija iz putanje.
Primjeri upotrebe
Ovdje možete vidjeti neke primjeri kako ih koristiti:
- Na primjer, koristiti osnovno ime s / etc / passwd i da vraća ime datoteke u svom izlazu, u ovom slučaju passwd:
basename /etc/passwd
- Također možete odrediti produžetak tako da vam daje ime datoteke bez nastavka. Na primjer, pretpostavimo da ste željeli izvući ime slike /home/media/test.jpg bez jpg nastavka (vratilo bi se prueba):
basename -s .jpg /home/media/prueba.jpg
- Možete čak obraditi više ruta odjednom odvojeno, za to morate koristiti opciju -a:
basename -a /etc/passwd /var/log/boot.log
- Da biste učinili suprotno i dali vam imenik, bez imena datoteke, tada morate koristiti reci mi. Na primjer, ako ga želite koristiti na putu /var/spool/mail/test.txt i vratite ga / var / spool / mail, tada upotrijebite:
dirname /var/spool/mail/prueba.txt
Što se tiče a uslužni program u skripti, evo još jednog primjera. Zamislite da imate jednostavnu skriptu i da u njoj postoji put koji je promjenjiv. Ali želite da prikaže direktorij koji sadrži datoteku, bez obzira na datoteku, u tom slučaju možete imati nešto poput:
pathname="/home/usuario/data/fichero" result=$(dirname "$pathname") echo $result
Očito je da bi u ovoj skripti "naziv puta" uvijek bio isti statički element koji je konstanta deklarirala na početku, ali možda postoje slučajevi u kojima to nije, i tu je mjesto postaje praktično, Na primjer:
/*script para convertir una imagen gif en png*/ #!/bin/sh for file in *.gif;do #Salir si no hay ficheros if [! -f $file];then exit fi b='basename $file .gif' echo NOW $b.gif is $b.png giftopnm $b.gif | pnmtopng >$b.png done
Dobar primjer onih stvari koje kad učite vidite beskorisnima, ali kad dođete do predmeta vidite koliko su praktične.