BASH programiranje

Naredba Bash Printf

Naredba Bash Printf
Radeći s bash skriptama, uglavnom koristimo naredbu „echo“ za ispis bilo kojeg izlaza, što je prikladno i jednostavno za upotrebu i većinu vremena ispunjava zahtjeve. Ali jednostavnost dolazi s ograničenjem; naredba echo ima svoja ograničenja kada je u pitanju formatiranje izlaza, u tom slučaju, "printf”Naredba igra svoju ulogu.

"printf"Naredba u bash skripti radi na isti način"printf ()”Radi na C jeziku. Ovaj će se post usredotočiti na „printf”Naredba, njena sintaksa i primjeri koji dodatno razrađuju upotrebu ove naredbe. Provjerimo sintaksu "printf”Naredba:

printf

: Nije obavezno dodijeliti izlaz varijabli.
: To je niz koji može sadržavati različite specifikatore formata kao što su "% s", "% b", "% d", "% f" i bijega kosa crta
: Argumenti mogu biti bilo koja vrijednost ili varijabla

Kako koristiti naredbu printf u bash skriptiranju pomoću Vim uređivača:

Za ovaj vodič koristimo Vim editor zbog njegove bogate funkcionalnosti i jednostavnosti upotrebe. Nabavite Vim na svoj uređaj pomoću:

$ sudo apt instalirati vim

Pokrenite vim editor:

$ vim

Napišimo jednostavan program za ispis niza pomoću "printf":

#! / bin / bash
printf “Pozdrav Linuxhint”

Da biste spremili datoteku, pritisnite “EscTipka za prebacivanje načina rada, a zatim upišite “: W primjer.sh "a zatim"Enter ”. Sada otvorite novi prozor terminala i upišite:

Primjer $ bash.sh

Gornja naredba će izvršiti skriptu za ispis teksta "hello linuxhint" kao što je prikazano dolje:

Sad ćemo uključiti neke specifikatore formata:

#! / bin / bash
printf “% s \ n” “Zdravo Linuxhint”

U gornjem primjeru, "% s" govori da bi se odgovarajući argument trebao tretirati kao niz i "\ n" za novi redak. Slično tome, ako koristimo "% d", tada će se argument tretirati kao cijeli broj:

#! / bin / bash
printf “% s \ n” “Pozdrav Linuxhint” “Saznajte o” “Linuxu”

Sva tri argumenta tretirat će se kao niz i ispisati u novom retku, kao što je prikazano u sljedećem izlazu:

U nastavku se dalje spominje još jedan primjer kako bi se razumjela upotreba naredbe "printf":

#! / bin / bash
odjek "Unesite svoje ime"
pročitajte ime
odjek "Unesite svoje godine"
čitati dob
printf “Vaše ime:% s \ nVaša dob:% s \ n” “$ ime” “$ dob”

"Vaše ime:% s \ n Vaša dob:% s \ n" je format dok je "$ name" Argumenti su "$ age". Dok "% s" upućuje na argumente.

Kako koristiti specifikatore pretvorbe s naredbom printf:

Specifikatori pretvorbe su znakovi koji se koriste znakom "%" da naznače kako se postupa s argumentima. Provjerimo popis nekih često korištenih specifikatora:

Specifikator Dopis
%% Ispisuje simbol "%"
% c Argumente uzima kao jedan znak
% e i% E Uzmi argument u broju s pomičnom zarezom i ispisuje u eksponencijalnom zapisu, % e za mala slova i % E za veliko slovo
% g i% G Uzmi argument s brojem s pomičnom zarezom i ispisuje u normalnom ili eksponencijalnom zapisu
% f Argument uzima kao plutajuće brojeve
% d Uzima argumente kao potpisane cijele brojeve
% u Argument uzima kao nepotpisane cijele brojeve
% o Argument uzima kao nepotpisani oktalni broj
% x i% X Uzima argumente kao nepotpisane heksadecimalne cijele brojeve

Dalje razradimo gornje specifikatore s primjerom u bash:

#! / bin / bash
odjek "Unesite broj za pretvorbu"
pročitani broj
printf “Decimalno:% d \ nOktalno:% o \ nHex:% X \ n” “$ broj” “$ broj” “$ broj”

Kako koristiti naredbe Flag, Width i Precision s naredbom printf:

Direktive o zastavama dolaze uz neobavezujuću upotrebu s naredbom "printf". Uobičajene smjernice za zastave su

  • "-" Lijevo opravdajte izlaz
  • "+" Dodaje znak "+" s cijelim brojem
  • "0" Dodaje "0" s brojem umjesto razmaka

Direktive o širini dodaju prostor s izlazom koji se obično koristi nakon zastavice. Razumijemo to na primjeru:

#! / bin / bash
odjek "Unesite svoje ime"
pročitajte ime
odjek "Unesite svoje godine"
čitati dob
printf "Vaše ime i dob ste:% 5s% 5d \ n" "$ name" "dob"

"% 30s" znači da prostor ima 30 znakova, a da biste poravnali izlazni obrazac lijevo, upotrijebite znak "-" "% -30s".

Direktiva o preciznosti sastoji se od točke ".”Slijedi pozitivnim cijelim brojem:

#! / bin / bash
printf “%.2f ”2.56473

Izlaz bi bio:

Ako je broj cijeli broj, direktiva o preciznosti dodat će "0" prije broja. Ako je broj s pomičnom zarezom, tada će direktiva o preciznosti odrediti broj pozitivnih znamenki nakon decimalne točke. Za niz određuje broj znakova koji će se prikazati:

#! / bin / bash
printf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "

Parametri koji su pobjegli unatrag:

Parametri izlazne kose crte, koji se nazivaju i sekvence izbjegavanja, koriste se s kosom crtom za formatiranje niza naredbom "printf". Te sekvence ne predstavljaju sebe već interpretiraju u nekim drugim likovima. Neke najčešće korištene izlazne sekvence su:

Lik Opis
\\ Ispisuje znak s kosom crtom
\ b Ispisuje backspace znak
\ n Ispis izlaza u novom retku
\ r Ispisuje povratak nosača (pokazivač na početku retka)
\ t Daje prostor na kartici zdesna
\ v Daje prostor na kartici

Zaključak:

Kada je riječ o ispisu nečega u bash skriptama, naredba „echo“ najčešće se koristi jer je laka za korištenje i pamćenje. Ali naredba "echo" ima svoja ograničenja. Stoga, za pravilno formatiranje rezultata, "Printf" može se koristiti naredba. The "Printf" naredba dolazi s puno mogućnosti za formatiranje izlaza niza, pa čak i pretvorbu i oblikovanje osnovnih brojeva. Ovaj vodič temeljito razumije funkcije naredbe "printf" u bash skriptiranju s primjerima.

Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...