"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.
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 vimPokrenite vim editor:
$ vimNapišimo jednostavan program za ispis niza pomoću "printf":
#! / bin / bashprintf “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.shGornja naredba će izvršiti skriptu za ispis teksta "hello linuxhint" kao što je prikazano dolje:
Sad ćemo uključiti neke specifikatore formata:
#! / bin / bashprintf “% 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 / bashprintf “% 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 / bashodjek "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 / bashodjek "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 / bashodjek "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 / bashprintf “%.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 / bashprintf “%.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.