"printf”Käsk bashi skriptides töötab samamoodi”printf ()”Töötab C-keeles. See postitus keskendubprintf”Käsk, selle süntaks ja näited, mis täpsustavad selle käsu kasutamist. Kontrollime "printf”Käsk:
printf : Muutujale väljundi määramine on vabatahtlik.
Kuidas kasutada printf-käsku bashi skriptimisel Vim-redaktori abil:
Selle juhendi rikkaliku funktsionaalsuse ja kasutusmugavuse tõttu kasutame Vimi redaktorit. Hankige oma seadmesse Vim, kasutades järgmist:
$ sudo apt install vimKäivitage vimiredaktor:
$ vimKirjutame stringi printimiseks lihtsa programmi printf abil:
#! / bin / bashprintf “Tere Linuxhint”
Faili salvestamiseks vajutageEsc”Nuppu režiimi vahetamiseks ja seejärel sisestamiseks “: W näide.sh "ja siis"Enter ”. Nüüd avage uus terminaliaken ja tippige:
$ bashi näide.shÜlaltoodud käsk käivitab skripti, et välja printida tekst "tere linuxhint", nagu allpool näidatud:
Lisame nüüd mõned vorminguspetsifikaatorid:
#! / bin / bashprintf “% s \ n” “Tere Linuxhint”
Ülaltoodud näites ütleb „% s”, et vastavat argumenti tuleks uue rea puhul käsitleda stringina ja „\ n”. Samamoodi käsitletakse argumenti kui „% d” kui täisarvu:
#! / bin / bashprintf “% s \ n” “Tere Linuxhint” “Lisateave Linuxi kohta”
Kõiki kolme argumenti käsitletakse stringina ja trükitakse uuel real, nagu on näidatud järgmises väljundis:
Järgnevalt on veel üks näide, et käsust “printf” aru saada:
#! / bin / bashkaja "Sisesta oma nimi"
loe nime
kaja "Sisesta oma vanus"
loe vanus
printf "Teie nimi:% s \ nS teie vanus:% s \ n" "$ nimi" "$ vanus"
„Teie nimi:% s \ n Teie vanus:% s \ n” on vormingus, samas kui „$ name” "$ Age" on argumendid. Kusjuures “% s” osutab argumentidele.
Konversioonispetsifikaatorite kasutamine käsuga printf:
Teisenduse täpsustajad on märgid, mida kasutatakse märgiga „%”, et näidata, kuidas argumente käsitleda. Kontrollime mõnede tavaliselt kasutatavate täpsustajate loendit:
Täpsustaja | Dkirjeldus |
---|---|
%% | Prindib sümbol „%” |
% c | Võtab argumendid ühe märgina |
% e ja% E | Võtame argumendi ujukoma arvus ja printige eksponentsiaalses tähistuses, % e väiketähe ja % E suurtähe jaoks |
% g ja% G | Võta argument ujukomaarvuna ja prindib tavalises või eksponentsiaalses tähistuses |
% f | Võtab argumendi ujuvate arvudena |
% d | Arvestab argumente täisarvudena |
% u | Võtab argumendi allkirjata täisarvudena |
% o | Võtab argumendi märkimata kaheksanumbrina |
% x ja% X | Võtab argumendid allkirjastamata kuueteistkümnendsüsteemi täisarvudena |
Töötame ülaltoodud täpsustajaid edasi bashi näite abil:
#! / bin / bashkaja "Sisestage teisendamiseks vajalik number"
loe numbrit
printf “Kümnendkoht:% d \ nOctal:% o \ nHex:% X \ n” “$ number” “$ number” “$ number”
Kuidas kasutada lipu, laiuse ja täpsuse direktiive käsuga printf:
Lipudirektiivid on valikuliselt kasutatavad käsuga “printf”. Tavaliselt kasutatavad lipudirektiivid on
- “-” Vasakpoolne väljund õigustatakse
- “+” Lisab täisarvuga märgi “+”
- „0” lisab tühikute asemel numbri „0”
Laiusdirektiivid lisavad ruumi väljundiga, mida tavaliselt kasutatakse lipu järel. Mõistame seda näite abil:
#! / bin / bashkaja "Sisesta oma nimi"
loe nime
kaja "Sisesta oma vanus"
loe vanus
printf "Teie nimi ja vanus on:% 5s% 5d \ n" "$ name" "vanus"
„% 30s” tähendab, et tühik on 30 tähemärki ja väljundvormi vasakule joondamiseks kasutage märki „-” „% -30s”.
Täppisdirektiiv koosneb punktist “.”Järgneb positiivne täisarv:
#! / bin / bashprintf “%.2f ”2.56473
Väljund oleks:
Kui number on täisarv, lisab täpsusdirektiiv numbri ette numbri „0”. Kui number on ujukoma tüüp, täpsustab täppdirektiiv positiivsete numbrite arvu pärast kümnendkoha täpsust. Stringi jaoks määrab see kuvatavate märkide arvu:
#! / bin / bashprintf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "
Parempoolse kaldkriipsuga põgenenud parameetrid:
Tagasi kaldkriipsuga põgenemisparameetreid, mida nimetatakse ka põgenemisjärjestusteks, kasutatakse tagasilöögiga stringi vormindamiseks käsuga “printf”. Need järjestused ei esinda iseennast, vaid tõlgendavad mõnes muus tähemärgis. Mõned tavaliselt kasutatavad põgenemisjärjestused on:
Iseloom | Kirjeldus |
---|---|
\\ | Prindib tagasilöögi |
\ b | Prindib tagasilükkamise märgi |
\ n | Prindib väljundi uude ritta |
\ r | Prindib tagasivõtte (kursor rea alguses) |
\ t | Annab vahekaardil ruumi paremalt |
\ v | Annab vahekaardile ruumi |
Järeldus:
Bashi skriptides millegi printimiseks kasutatakse kõige sagedamini käsku "echo", kuna seda on lihtne kasutada ja meelde jätta. Kuid käsul “kaja” on oma piirangud. Seetõttu väljundi õigeks vormindamiseks “Printf” käsku saab kasutada. The “Printf” käsul on palju võimalusi stringi väljundi vormindamiseks ja isegi põhinumbrite teisendamiseks ning vormindamiseks. See juhend mõistab põhjalikult käsu “printf” funktsioone bashi skriptimisel koos näidetega.