osnovno ime in ime: dva ukaza, ki bi jih morala poznati

ukazne lupine terminala

Včasih so nekatere vadnice namenjene razlagi nekoliko bolj eksotičnih in čudnih ukazov, po drugi strani pa obstajajo nekateri, ki vključujejo serijske distribucije in niso tako priljubljeni kot cd, ls, cat itd., Vendar so prav tako praktični. V tej vadnici vam bom pokazal, kaj lahko naredimo z dvema od teh ukazov: osnovno ime in mi povej.

Morda se vam a priori zdijo absurdni in da nimajo nobene koristi, imajo pa zelo praktične aplikacije v nekaterih primerih, na primer v skriptih, kjer morate izvleči del poti, na primer ime datoteke ali imenika, tako da na tem deluje drug ukaz ...

Za kaj so

Ti ukazi so zelo osnovni in njegove funkcije Zvok:

  • osnovno ime: uporablja se za pridobivanje imena datoteke s poti.
  • ime: uporablja se za pridobivanje imena imenika s poti.

Primeri uporabe

Tukaj lahko vidite nekaj primeri kako jih uporabiti:

  • Na primer, za uporabo osnovno ime z / etc / passwd in da vrne ime datoteke v izhodu, v tem primeru passwd:
basename /etc/passwd

  • Lahko tudi določite podaljšek tako da vam da ime datoteke brez končnice. Recimo, da ste želeli izvleči ime slike /home/media/test.jpg brez končnice jpg (vrnilo bi se test):
basename -s .jpg /home/media/prueba.jpg

  • Lahko celo obdelati več poti hkrati ločeno, za to morate uporabiti možnost -a:
basename -a /etc/passwd /var/log/boot.log

  • Če želite storiti nasprotno in vam dati ime imenika brez imena datoteke, potem morate uporabiti ime. Če ga želite na primer uporabiti na poti /var/spool/mail/test.txt in ga vrniti / var / spool / mail, potem uporabite:
dirname /var/spool/mail/prueba.txt

Kar zadeva a pripomoček v skriptu, tu imate še en primer. Predstavljajte si, da imate preprost skript in da je v njem spremenljiva pot. Toda želite, da prikaže imenik, ki vsebuje datoteko, ne glede na datoteko, v tem primeru bi lahko imeli nekaj takega:

pathname="/home/usuario/data/fichero"

result=$(dirname "$pathname")

echo $result

Očitno bi bilo v tem skriptu "ime poti" vedno isti statični element, ki ga je konstanta navedla na začetku, vendar lahko obstajajo primeri, v katerih ni, in prav tam postane praktično. Na primer:

/*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


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Gregorio ros je dejal

    Dober primer tistih stvari, ki se vam med učenjem zdijo neuporabne, ko pa pridete do predmeta, vidite, kako praktične so.