”tryckf”Kommando i bash scripting fungerar på samma sätt”printf ()”Fungerar på C-språket. Detta inlägg kommer att fokusera påtryckf”-Kommandot, dess syntax och exempel som vidareutvecklar användningen av detta kommando. Låt oss kolla syntaxen för “tryckf”Kommando:
tryckf : Det är valfritt att tilldela utdata till en variabel.
Så här använder du printf-kommandot i bash-skript med Vim-editor:
Vi använder Vim-editor för den här guiden på grund av dess rika funktionalitet och användarvänlighet. Få Vim på din enhet med:
$ sudo apt installera vimStarta Vim Editor:
$ vimLåt oss skriva ett enkelt program för att skriva ut en sträng med "printf":
#! / bin / bashprintf “Hej Linuxhint”
För att spara filen, tryck på “Esc”-Knappen för att växla läge och sedan skriva “: W exempel.sh ”och sedan“Enter ”. Öppna nu ett nytt terminalfönster och skriv:
$ bash exempel.shOvanstående kommando kommer att utföra skriptet och skriva ut "hej linuxhint" -text som visas nedan:
Låt oss nu inkludera några formatspecifikationer:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint”
I exemplet ovan säger "% s" att motsvarande argument ska behandlas som sträng och "\ n" för den nya raden. På samma sätt, om vi använder "% d", kommer argumentet att behandlas som ett heltal:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint” “Lär dig mer om” “Linux”
Alla tre argumenten kommer att behandlas som en sträng och skrivas ut på en ny rad, vilket visas i följande utdata:
Ett annat exempel nämns nedan för att förstå användningen av kommandot "printf":
#! / bin / basheko “Ange ditt namn”
läs namn
eko “Ange din ålder”
läs ålder
printf "Ditt namn:% s \ nDin ålder:% s \ n" "$ name" "$ age"
"Ditt namn:% s \ n Din ålder:% s \ n" är format medan "$ name" ”$ Age” är argumenten. Medan “% s” pekar på argumenten.
Så här använder du konverteringsspecifikatorer med printf-kommando:
Konverteringsspecifikationerna är tecken som används med tecknet “%” för att ange hur argumenten ska hanteras. Låt oss kolla listan med några vanliga specifikationer:
Specifier | Dbeskrivning |
---|---|
%% | Skriver ut "%" -symbolen |
% c | Tar argument som en enda karaktär |
% e och% E | Ta argument i flytande nummer och skriv ut i exponentiell notation, % e för gemener och % E för versaler |
% g och% G | Ta argument i flytande nummer och skriv ut i normal eller exponentiell notation |
% f | Tar argument som flytande siffror |
% d | Tar argument som signerade heltal |
% u | Tar argumentet som osignerade heltal |
%o | Tar argumentet som ett osignerat oktalt tal |
% x och% X | Tar argument som osignerade hexadecimala heltal |
Låt oss vidare utarbeta ovanstående specifikationer med ett exempel i bash:
#! / bin / basheko “Ange ett nummer som ska konverteras”
läs nummer
printf "Decimal:% d \ nOktal:% o \ nHex:% X \ n" "$ nummer" "$ nummer" "$ nummer"
Så här använder du flagg-, bredd- och precisionsdirektiv med printf-kommando:
Flaggdirektiv kommer med valfri användning med kommandot “printf”. De vanligaste flaggdirektiven är
- “-” Vänster motiverar utmatningen
- "+" Lägger till "+" -tecknet med heltal
- "0" Lägger till "0" med ett nummer istället för mellanslag
Bredddirektiven lägger till utrymme med den utgång som vanligtvis används efter flaggan. Låt oss förstå det med ett exempel:
#! / bin / basheko “Ange ditt namn”
läs namn
eko “Ange din ålder”
läs ålder
printf “Ditt namn och ålder är:% 5s% 5d \ n” “$ name” “age”
"% 30s" betyder att utrymmet är 30 tecken långt och för att justera utmatningsformuläret till vänster, använd "-" tecknet "% -30s".
Precisionsdirektivet består av punkten ”.”Efter ett positivt heltal:
#! / bin / bashprintf “%.2f ”2.56473
Resultatet skulle vara:
Om talet är ett heltal kommer precisionsdirektivet att lägga till "0" före numret. Om siffran är flytande punkt, kommer precisionsdirektivet att ange antalet positiva siffror efter decimal. För sträng anger den antalet tecken som ska visas:
#! / bin / bashprintf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "
Backslash Escape-parametrar:
Backslash escape-parametrar, även kallade escape-sekvenser, används med en backslash för att formatera strängen med kommandot “printf”. Dessa sekvenser representerar inte sig själva utan tolkas i vissa andra tecken. Några vanliga escape-sekvenser är:
Karaktär | Beskrivning |
---|---|
\\ | Skriver ut backslash-karaktär |
\ b | Skriver ut bakstegstecken |
\ n | Skriver ut utdata i en ny rad |
\ r | Skriver ut en vagnretur (markör i början av raden) |
\ t | Ger flikutrymme från höger |
\ v | Ger flikutrymme |
Slutsats:
När det gäller att skriva ut något i bash-skript används "echo" -kommandot oftast eftersom det är lätt att använda och komma ihåg. Men "echo" -kommandot har sin begränsning. Därför, för att korrekt formatera utdata, “Printf” kommando kan användas. De “Printf” kommandot har många alternativ för att formatera strängutdata och till och med grundläggande siffrors omvandlingar och formatering. Den här guiden förstår grundligt kommandot ”printf” i bash-skript med exempel.