i-basename ne-dirname: imiyalo emibili okufanele uyazi

imiyalo yokugcina ye-Shell Linux

Kwesinye isikhathi okunye okokufundisa kuhlose ukuchaza imiyalo ethe xaxa exakile futhi engajwayelekile, ngakolunye uhlangothi, kukhona okunye okubandakanya ukwabiwa kwe-serial futhi okungadumile njenge-cd, ls, ikati, njll., Kepha kunjalo nje. Kulesi sifundo ngizokukhombisa ukuthi yini engenziwa ngemiyalo emibili yaleyo: basename bese ungitshela.

Mhlawumbe i-priori zibonakala zingenangqondo kuwe nokuthi azinakusiza, kodwa zinakho izinhlelo zokusebenza ezisebenzisekayo kwezinye izimo, njenge, ngokwesibonelo, emibhalweni lapho udinga ukukhipha ingxenye ethile yendlela, njengegama lefayela noma umkhombandlela ukuze omunye umyalo usebenze kulokhu ...

Zenzeleni

Le miyalo ibaluleke kakhulu, futhi imisebenzi yayo Yilezi:

  • igama lesisekelo: isetshenziselwe ukukhipha igama lefayela endleleni.
  • igama lomsebenzisi: isetshenziselwe ukukhipha igama lesikhombi endleleni.

Izibonelo zokusetshenziswa

Lapha ungabona ezinye izibonelo uzisebenzisa kanjani:

  • Isibonelo, ukusebenzisa igama lesisekelo nge / etc / passwd, nokuthi libuyisa igama lefayela kokukhiphayo kwalo, kulokhu kudlula:
basename /etc/passwd

  • Ungacacisa futhi isandiso ukuze ikunikeze igama lefayela ngaphandle kokunwetshwa. Isibonelo, ake sithi ufuna ukukhipha igama lesithombe /home/media/test.jpg ngaphandle kwesandiso se-jpg (sizobuya ukuhlolwa):
basename -s .jpg /home/media/prueba.jpg

  • Ungakwazi futhi cubungula imizila eminingi ngasikhathi sinye ngokwehlukile, kulokhu kufanele usebenzise inketho -a:
basename -a /etc/passwd /var/log/boot.log

  • Ukwenza okuphambene, futhi ngikunikeze igama lesikhombi, ngaphandle kwegama lefayela, kuzofanela usebenzise igama lomsebenzisi. Isibonelo, uma ufuna ukuyisebenzisa endleleni /var/spool/mail/test.txt bese uyibuyisa / var / spool / mail, bese usebenzisa:
dirname /var/spool/mail/prueba.txt

Ngokuqondene ne- okusetshenziswayo kuskripthi, lapha unesinye isibonelo. Cabanga ukuthi unombhalo olula, nokuthi kuwo kukhona indlela eguquguqukayo. Kepha ufuna ikhombise umkhombandlela oqukethe ifayili, ngaphandle kwefayela, kuleso simo ungaba nokuthile okufana nalokhu:

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

result=$(dirname "$pathname")

echo $result

Ngokusobala, kulo mbhalo "igama lendlela" lizohlala liyi-static efanayo emenyezelwe yi-njalo ekuqaleni, kepha kungahle kube nezimo lapho ingekho, futhi kulapho kuba ngokoqobo. Isibonelo:

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


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Unomthwalo wemfanelo ngedatha: AB Internet Networks 2008 SL
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   UGregory ros kusho

    Isibonelo esihle salezo zinto othi uma ufunda uzibone zingenamsebenzi, kepha uma ufika odabeni uyabona ukuthi zisebenza kanjani.