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 šta 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 putanje, poput imena datoteke ili direktorija, tako da druga naredba djeluje na ovo ...
Čemu služe
Ove su naredbe vrlo osnovne i njegove funkcije To su:
- osnovno ime: koristi se za izdvajanje imena datoteke iz putanje.
- reci mi: koristi se za izdvajanje imena direktorija iz putanje.
Primjeri upotrebe
Ovdje možete vidjeti neke primjere kako ih koristiti:
- Na primjer, koristiti osnovno ime sa / etc / passwd i da vraća ime datoteke u svom izlazu, u ovom slučaju passwd:
basename /etc/passwd
- Takođe možete odrediti produžetak tako da vam daje ime datoteke bez nastavka. Na primjer, pretpostavimo da želite izvući ime slike /home/media/test.jpg bez jpg nastavka (vratilo bi se test):
basename -s .jpg /home/media/prueba.jpg
- Možete čak obraditi više ruta odjednom odvojeno, za ovo morate koristiti opciju -a:
basename -a /etc/passwd /var/log/boot.log
- Da biste učinili suprotno i dali vam ime direktorija, bez imena datoteke, tada morate koristiti reci mi. Na primjer, ako ga želite koristiti u putanji /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 promenljiv. 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 kada dođete do predmeta vidite koliko su praktične.