A "printf”Parancs a bash szkriptben ugyanúgy működik”printf ()”C nyelven működik. Ez a bejegyzés a „printf”Parancsot, annak szintaxisát és példáit, amelyek tovább részletezik a parancs használatát. Ellenőrizzük a „printf”Parancs:
printf : Nem kötelező kimenetet rendelni egy változóhoz.
A printf parancs használata a bash szkriptekben a Vim szerkesztő használatával:
Gazdag funkcionalitása és egyszerű kezelhetősége miatt a Vim szerkesztőt használjuk ebben az útmutatóban. Töltse le a Vim eszközt a következő eszközökkel:
$ sudo apt install vimIndítsa el a VIM szerkesztőt:
$ vimÍrjunk egy egyszerű programot egy karakterlánc nyomtatására a „printf” használatával:
#! / bin / bashprintf “Hello Linuxhint”
A fájl mentéséhez nyomja meg aKilépés”Gomb az üzemmód váltásához, majd gépeléshez “: W példa.sh ”, majdEnter ”. Most nyisson meg egy új terminálablakot, és írja be:
$ bash példa.SHA fenti parancs végrehajtja a szkriptet a „hello linuxhint” szöveget az alábbiak szerint kinyomtatva:
Most vegyünk fel néhány formátummeghatározót:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint”
A fenti példában a „% s” azt mondja, hogy a megfelelő argumentumot karakterláncként és „\ n” -ként kell kezelni az új sor esetében. Hasonlóképpen, ha „% d” -t használunk, akkor az argumentum egész számként fog kezelni:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint” “Tudjon meg többet a“ Linuxról ”
Mindhárom argumentumot karaktersorozatként kezeljük, és új sorban nyomtatjuk, amint azt a következő kimenet mutatja:
Az alábbiakban egy másik példát említünk, hogy megértsük a „printf” parancs használatát:
#! / bin / bashvisszhang „Írja be a nevét”
olvassa el a nevet
visszhang „Írja be az életkorát”
olvasás kora
printf “A te neved:% s \ nAz életkorod:% s \ n” “$ name” “$ age”
„A neved:% s \ n Korod:% s \ n” formátum, míg a „$ name” A „$ age” az érvek. Míg „% s” az érveket mutatva.
Konverziós specifikátorok használata printf paranccsal:
A konverzióspecifikátorok olyan karakterek, amelyeket a „%” előjellel használnak az argumentumok kezelésének jelzésére. Ellenőrizzük néhány általánosan használt specifikátor listáját:
Specifikátor | Dleírás |
---|---|
%% | „%” Szimbólumot nyomtat |
% c | Az érveket egyetlen karakterként veszi fel |
% e és% E | Vegyünk argumentumot lebegőpontos számban, és nyomatokat exponenciális jelöléssel, % e kisbetû és % E nagybetűvel |
% g és% G | Vegyünk argumentumot lebegőpontos számban, nyomatokat normál vagy exponenciális jelöléssel |
% f | Az érvelést lebegő számként veszi fel |
% d | Az argumentumokat aláírt egész számként veszi fel |
% u | Az argumentumot aláíratlan egész számként veszi fel |
% o | Az argumentumot előjel nélküli oktális számnak tekinti |
% x és% X | Az argumentumokat aláíratlan hexadecimális egész számként veszi fel |
Fejlesszük tovább a fenti specifikációkat egy példával a bash-ban:
#! / bin / bashecho „Írjon be egy számot az átalakításhoz”
olvasási szám
printf “Tizedes:% d \ nOctal:% o \ nHex:% X \ n” “$ szám” “$ szám” “$ szám”
A Flagf, Width és Precision direktívák használata printf paranccsal:
A jelző irányelvek opcionálisan használhatók a „printf” paranccsal. Az általánosan használt zászló irányelvek
- A „-” bal igazolja a kimenetet
- „+” Egész számmal egészíti ki a „+” jelet
- „0” A „0” számot ad szóköz helyett
A szélességi irányelvek helyet adnak a kimenettel, amelyet általában a zászló után használnak. Értsük meg egy példával:
#! / bin / bashvisszhang „Írja be a nevét”
olvassa el a nevet
visszhang „Írja be az életkorát”
olvasás kora
printf „Ön neve és életkora:% 5s% 5d \ n” „$ name” „age”
A „% 30s” azt jelenti, hogy a szóköz 30 karakter hosszú, és a kimeneti űrlap balra igazításához használja a „-” jelet „% -30s”.
A precíziós irányelv a „.”Pozitív egész szám követi:
#! / bin / bashprintf “%.2f ”2.56473
A kimenet a következő lenne:
Ha a szám egész szám, a precíziós irányelv a szám elé „0” -t tesz. Ha a szám lebegőpontos, akkor a precíziós irányelv meghatározza a tizedesjegy utáni pozitív számjegyek számát. Karaktersorozat esetén megadja a megjelenítendő karakterek számát:
#! / bin / bashprintf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "
Backslash Escaped paraméterek:
A visszavágásos menekülési paramétereket, más néven menekülési szekvenciákat, egy visszavágó karakterrel használják a karaktersorozat formázására a „printf” paranccsal. Ezek a szekvenciák nem önmagukat képviselik, hanem néhány más karakterben értelmezik őket. Néhány gyakran használt menekülési szekvencia:
karakter | Leírás |
---|---|
\\ | Backslash karaktert nyomtat |
\ b | Backspace karaktert nyomtat |
\ n | Kimenetet nyomtat egy új sorba |
\ r | Kiírja a kocsi visszaútját (kurzor a sor elején) |
\ t | Helyet ad a fülnek jobbról |
\ v | Helyet ad a fülnek |
Következtetés:
Ha valamit bash szkriptben kell kinyomtatni, akkor az „echo” parancsot használják leggyakrabban, mert könnyen kezelhető és megjegyezhető. De az „echo” parancsnak van korlátja. Ezért a kimenet megfelelő formázásához a „Printf” parancs használható. A „Printf” A parancs rengeteg opcióval rendelkezik a karakterlánc kimenetének formázására, sőt az alapszámok átalakítására és formázására is. Ez az útmutató példákkal alaposan átfogja a „printf” parancs bash szkriptekben történő működését.