osnovno ime i ime: dvije naredbe koje biste trebali znati

naredbe terminalne ljuske Linuxa

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Grgur ros dijo

    Dobar primjer onih stvari koje kad učite vidite beskorisnima, ali kad dođete do predmeta vidite koliko su praktične.