osnovno ime i ime: dvije naredbe koje biste trebali znati

naredbe terminala ljuske

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


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Gregory ros rekao je

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