BASH-programmering

Bash Printf-kommando

Bash Printf-kommando
Når vi arbejder med bash-scripting, bruger vi for det meste kommandoen “ekko” til at udskrive ethvert output, hvilket er praktisk og let at bruge og opfylder kravet oftest. Men enkelhed kommer med begrænsning; ekkokommandoen har sin egen begrænsning, når det kommer til formatering af output, i så fald “printf”Kommando spiller sin rolle.

Det "printf”Kommando i bash scripting fungerer på samme måde”printf ()”Fungerer på C-sproget. Dette indlæg vil fokusere på “printf”Kommando, dens syntaks og eksempler, der yderligere uddyber brugen af ​​denne kommando. Lad os kontrollere syntaksen for “printf”Kommando:

printf

: Det er valgfrit at tildele output til en variabel.
: Det er en streng, der kan indeholde forskellige formatspecifikatorer såsom “% s”, “% b”, “% d”, “% f” og backslash escape
: Argumenterne kan være enhver værdi eller variabel

Sådan bruges printf-kommandoen i bash-scripting ved hjælp af Vim-editor:

Vi bruger Vim-editor til denne vejledning på grund af dens rige funktionalitet og brugervenlighed. Få Vim på din enhed ved hjælp af:

$ sudo apt install vim

Start vim editor:

$ vim

Lad os skrive et simpelt program til at udskrive en streng ved hjælp af "printf":

#! / bin / bash
printf “Hej Linuxhint”

For at gemme filen skal du trykke på “Esc”-Knappen for at skifte tilstand og derefter skrive “: W eksempel.sh ”og derefter“Enter ”. Åbn nu et nyt terminalvindue og skriv:

$ bash eksempel.sh

Ovenstående kommando udfører scriptet, og udskriv "hallo linuxhint" -tekst som vist nedenfor:

Lad os nu inkludere nogle formatspecifikatorer:

#! / bin / bash
printf “% s \ n” “Hej Linuxhint”

I ovenstående eksempel fortæller "% s", at det tilsvarende argument skal behandles som streng og "\ n" for den nye linje. Tilsvarende, hvis vi bruger "% d", behandles argumentet som et heltal:

#! / bin / bash
printf “% s \ n” “Hej Linuxhint” “Lær om” “Linux”

Alle tre argumenter behandles som en streng og udskrives i en ny linje som vist i følgende output:

Et andet eksempel er nævnt nedenfor for at forstå brugen af ​​kommandoen “printf”:

#! / bin / bash
ekko "Indtast dit navn"
læse navn
ekko "Indtast din alder"
læse alder
printf "Dit navn:% s \ nDin alder:% s \ n" "$ name" "$ age"

"Dit navn:% s \ n Din alder:% s \ n" er formatet, mens "$ name" "$ Age" er argumenterne. Mens "% s" peger på argumenterne.

Sådan bruges konverteringsspecifikatorer med printf-kommando:

Konverteringsspecifikationerne er tegn, der bruges med "%" -tegnet for at angive, hvordan argumenterne skal behandles. Lad os kontrollere listen over nogle almindeligt anvendte specifikationer:

Specifikator Deskription
%% Udskriver “%” symbol
% c Tager argumenter som et enkelt tegn
% e og% E Tag argument i flydende nummer og udskriver i eksponentiel notation, % e for små bogstaver og % E til store bogstaver
% g og% G Tag argument i flydende nummer og udskriver i normal eller eksponentiel notation
% f Tager argumentet som flydende tal
% d Tager argumenter som underskrevne heltal
% u Tager argumentet som usignerede heltal
% o Tager argumentet som et usigneret oktalt tal
% x og% X Tager argumenter som usignerede hexadecimale heltal

Lad os uddybe ovenstående specifikationer med et eksempel i bash:

#! / bin / bash
ekko "Indtast et tal, der skal konverteres"
læse nummer
printf "Decimal:% d \ nOktal:% o \ nHex:% X \ n" "$ nummer" "$ nummer" "$ nummer"

Sådan bruges flag-, bredde- og præcisionsdirektiver med printf-kommando:

Flagdirektiver leveres med valgfri brug med kommandoen “printf”. De almindeligt anvendte flagdirektiver er

  • “-” Venstre retfærdiggør output
  • "+" Tilføjer "+" tegn med heltal
  • "0" Tilføjer "0" med et tal i stedet for mellemrum

Breddedirektiver tilføjer plads med den output, der normalt bruges efter flag. Lad os forstå det med et eksempel:

#! / bin / bash
ekko "Indtast dit navn"
læse navn
ekko "Indtast din alder"
læse alder
printf “Dit navn og alder er:% 5s% 5d \ n” “$ name” “age”

"% 30s" betyder, at mellemrummet er 30 tegn langt, og for at justere outputformularen til venstre skal du bruge "-" tegnet "% -30s".

Præcisionsdirektivet består af prikken “.”Efterfulgt af positivt heltal:

#! / bin / bash
printf “%.2f ”2.56473

Outputtet ville være:

Hvis tallet er et heltal, tilføjer præcisionsdirektivet "0" før tallet. Hvis tallet er flydende punkt, specificerer præcisionsdirektivet antallet af positive cifre efter decimaltegnet. For streng specificerer det antallet af tegn, der skal vises:

#! / bin / bash
printf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n "" samlinux "

Backslash undsluppede parametre:

Backslash escape-parametre, også kaldet escape-sekvenser, bruges med en backslash til at formatere strengen med kommandoen “printf”. Disse sekvenser repræsenterer ikke sig selv, men fortolkes i nogle andre tegn. Nogle almindeligt anvendte escape-sekvenser er:

Karakter Beskrivelse
\\ Udskriver tilbageslagstegn
\ b Udskriver backspace-karakter
\ n Udskriver output i en ny linje
\ r Udskriver en vognretur (markør i begyndelsen af ​​linjen)
\ t Giver faneplads fra højre
\ v Giver fane plads

Konklusion:

Når det kommer til at udskrive noget i bash-scripting, bruges "echo" -kommandoen mest, fordi det er let at bruge og huske. Men "ekko" -kommandoen har sin begrænsning. Derfor, for at formatere output korrekt “Printf” kommando kan bruges. Det “Printf” kommandoen leveres med masser af muligheder for at formatere strengoutput og endda grundlæggende nummers konverteringer og formatering. Denne vejledning gennemgår grundigt “printf” -kommandofunktionaliteten i bash-scripting med eksempler.

Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...