“printf”Kommando i bash scripting fungerer på samme måte“printf ()”Fungerer på C-språket. Dette innlegget vil fokusere på “printf”-Kommandoen, dens syntaks og eksempler som ytterligere utdyper bruken av denne kommandoen. La oss sjekke syntaksen til “printf”Kommando:
printf : Det er valgfritt å tilordne utdata til en variabel.
Slik bruker du printf-kommandoen i bash-skripting ved hjelp av Vim-editor:
Vi bruker Vim-editor for denne guiden på grunn av dens rike funksjonalitet og brukervennlighet. Få Vim på enheten din ved å bruke:
$ sudo apt installere vimStart vim editor:
$ vimLa oss skrive et enkelt program for å skrive ut en streng med "printf":
#! / bin / bashprintf “Hei Linuxhint”
For å lagre filen, trykk på “Esc”-Knappen for å bytte modus og deretter skrive “: W eksempel.sh ”og deretter“Enter ”. Åpne nå et nytt terminalvindu og skriv:
$ bash eksempel.shOvennevnte kommando vil utføre skriptet og skrive ut "hallo linuxhint" -tekst som vist nedenfor:
La oss nå inkludere noen formatspesifikatorer:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint”
I eksemplet ovenfor forteller “% s” at det tilsvarende argumentet skal behandles som streng og “\ n” for den nye linjen. På samme måte, hvis vi bruker "% d", vil argumentet bli behandlet som et helt tall:
#! / bin / bashprintf “% s \ n” “Hello Linuxhint” “Lær om” “Linux”
Alle tre argumentene blir behandlet som en streng og skrevet ut i en ny linje som vist i følgende utdata:
Et annet eksempel er nevnt nedenfor for å forstå bruken av "printf" -kommandoen:
#! / bin / bashekko “Skriv inn navnet ditt”
lese navnet
ekko “Skriv inn din alder”
lese alder
printf “Ditt navn:% s \ nDin alder:% s \ n” “$ name” “$ age”
“Ditt navn:% s \ n Din alder:% s \ n” er format mens “$ name” "$ Age" er argumentene. Mens “% s” peker på argumentene.
Hvordan bruke konverteringsspesifikatorer med printf-kommando:
Konverteringsspesifikasjonene er tegn som brukes med “%” -tegnet for å indikere hvordan argumentene skal behandles. La oss sjekke listen over noen vanlige spesifikatorer:
Spesifikator | Deskripsjon |
---|---|
%% | Skriver ut "%" -symbol |
% c | Tar argumenter som en enkelt karakter |
% e og% E | Ta argument i flytende nummer og skriv ut i eksponentiell notasjon, % e for små bokstaver og % E for store bokstaver |
% g og% G | Ta argument i flytende nummer og skriv ut i normal eller eksponentiell notasjon |
% f | Tar argument som flytende tall |
% d | Tar argumenter som signerte heltall |
% u | Tar argumentet som usignerte heltall |
% o | Tar argumentet som et usignert oktalt tall |
% x og% X | Tar argumenter som usignerte heksadesimale heltall |
La oss videreutdype spesifikasjonene ovenfor med et eksempel i bash:
#! / bin / bashekko “Skriv inn et tall som skal konverteres”
les nummer
printf “Desimal:% d \ nOktal:% o \ nHex:% X \ n” “$ nummer” “$ nummer” “$ nummer”
Slik bruker du flagg-, bredde- og presisjonsdirektiver med printf-kommando:
Flaggdirektiver kommer med valgfri bruk med “printf” -kommandoen. De vanligste flaggdirektivene er
- “-” Venstre rettferdiggjør utdataene
- "+" Legger til "+" tegn med heltall
- "0" Legger til "0" med et tall i stedet for mellomrom
Breddedirektiv legger til plass med utdata som vanligvis brukes etter flagget. La oss forstå det med et eksempel:
#! / bin / bashekko “Skriv inn navnet ditt”
lese navnet
ekko “Skriv inn din alder”
lese alder
printf “Ditt navn og alder er:% 5s% 5d \ n” “$ name” “age”
“% 30s” betyr at plassen er 30 tegn lang, og for å justere utdataformen til venstre, bruk “-” tegnet “% -30s”.
Presisjonsdirektivet består av prikken “.”Etter et positivt heltall:
#! / bin / bashprintf “%.2f ”2.56473
Resultatet vil være:
Hvis tallet er et helt tall, vil presisjonsdirektivet legge til "0" før tallet. Hvis tallet er flytende punkt, vil presisjonsdirektivet spesifisere antall positive sifre etter desimaltegnet. For streng spesifiserer den antall tegn som skal vises:
#! / bin / bashprintf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "
Backslash Escape-parametere:
Backslash escape-parametere, også kalt escape-sekvenser, brukes med en tilbakeslag til å formatere strengen med kommandoen “printf”. Disse sekvensene representerer ikke seg selv, men tolkes i noen andre tegn. Noen ofte brukte escape-sekvenser er:
Karakter | Beskrivelse |
---|---|
\\ | Skriver ut tilbakeslag |
\ b | Skriver ut baksiden |
\ n | Skriver ut i en ny linje |
\ r | Skriver ut en vognretur (markør i begynnelsen av linjen) |
\ t | Gir faneplass fra høyre |
\ v | Gir plass på fanen |
Konklusjon:
Når det gjelder å skrive ut noe i bash-skripting, brukes "echo" -kommandoen mest fordi den er enkel å bruke og huske. Men "ekko" -kommandoen har sin begrensning. Derfor, for å formatere utdataene riktig “Printf” kommandoen kan brukes. De “Printf” kommandoen har mange alternativer for å formatere strengutdata og til og med grunnleggende talls konverteringer og formatering. Denne guiden forstår grundig funksjonen til “printf” -kommandoen i bash-skripting med eksempler.