BASH-programmering

Bash Printf-kommando

Bash Printf-kommando
Når vi arbeider med bash-skripting, bruker vi stort sett kommandoen “ekko” for å skrive ut hvilken som helst utgang, som er praktisk og enkel å bruke og oppfyller kravet mesteparten av tiden. Men enkelhet kommer med begrensninger; ekkokommandoen har sin egen begrensning når det gjelder formatering av utdata, i så fall "printf”Kommando spiller sin rolle.

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.
: Det er en streng som kan inneholde forskjellige formatspesifikatorer som "% s", "% b", "% d", "% f" og backslash escape
: Argumentene kan være hvilken som helst verdi eller 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 vim

Start vim editor:

$ vim

La oss skrive et enkelt program for å skrive ut en streng med "printf":

#! / bin / bash
printf “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.sh

Ovennevnte kommando vil utføre skriptet og skrive ut "hallo linuxhint" -tekst som vist nedenfor:

La oss nå inkludere noen formatspesifikatorer:

#! / bin / bash
printf “% 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 / bash
printf “% 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 / bash
ekko “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 / bash
ekko “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 / bash
ekko “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 / bash
printf “%.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 / bash
printf “%.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.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...
Mus AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
AppyMouse Pekeplate og musepeker på skjermen for Windows-nettbrett
Nettbrettbrukere savner ofte musepekeren, spesielt når de bruker vanlige bærbare datamaskiner. Berøringsskjermen Smarttelefoner og nettbrett har mange...
Mus Midterste museknapp fungerer ikke i Windows 10
Midterste museknapp fungerer ikke i Windows 10
De midtre museknapp hjelper deg med å bla gjennom lange websider og skjermer med mye data. Hvis det stopper, vil du ende opp med å bruke tastaturet ti...