BASHi programmeerimine

Bash Printf käsk

Bash Printf käsk
Bashi skriptimisega töötades kasutame suvalise väljundi printimiseks enamasti käsku “echo”, mis on mugav ja hõlpsasti kasutatav ning täidab nõude enamasti. Kuid lihtsus kaasneb piiratusega; echo käsul on väljundi vormindamisel oma piirang, sel juhul “printf”Käsk mängivad oma rolli.

"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.
: See on string, mis võib sisaldada erinevaid vorminguspetsifikaate, nagu „% s”, „% b”, „% d”, „% f” ja tagasilöögipöördumine
: Argumendid võivad olla mis tahes väärtused või muutujad

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 vim

Käivitage vimiredaktor:

$ vim

Kirjutame stringi printimiseks lihtsa programmi printf abil:

#! / bin / bash
printf “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 / bash
printf “% 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 / bash
printf “% 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 / bash
kaja "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 / bash
kaja "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 / bash
kaja "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 / bash
printf “%.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 / bash
printf “%.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.

Parimad Oculus App Lab mängud
Kui olete Oculuse peakomplekti omanik, peate olema teadlik külglaadimisest. Kõrvalaadimine on protsess, millega installitakse peakomplekti mitte-poesi...
10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...