BASH programmēšana

Bash Printf komanda

Bash Printf komanda
Strādājot ar bash skriptiem, mēs parasti izmantojam komandu “echo”, lai izdrukātu jebkuru izvadi, kas ir ērti un ērti lietojams un lielākoties atbilst prasībām. Bet vienkāršība nāk ar ierobežojumu; komandai echo ir savs ierobežojums attiecībā uz izejas formatēšanu, tādā gadījumā “printf”Komanda spēlē savu lomu.

printf”Komanda bash skriptos darbojas tāpatprintf ()”Darbojas C valodā. Šajā amatā galvenā uzmanība tiks pievērstaprintf”Komandu, tās sintaksi un piemērus, kas sīkāk izskaidro šīs komandas izmantošanu. Pārbaudīsim “printfKomanda:

printf

: Nav obligāti piešķirt izvadi mainīgajam.
: Tā ir virkne, kas var saturēt dažādus formātu norādītājus, piemēram, “% s”, “% b”, “% d”, “% f” un slīpsvītru
: Argumenti var būt jebkura vērtība vai mainīgais

Kā izmantot komandu printf bash skriptos, izmantojot Vim redaktoru:

Šajā ceļvedī mēs izmantojam Vim redaktoru tā bagātīgās funkcionalitātes un lietošanas ērtuma dēļ. Iegūstiet Vim savā ierīcē, izmantojot:

$ sudo apt install vim

Palaist vim redaktoru:

$ vim

Uzrakstīsim vienkāršu programmu, lai drukātu virkni, izmantojot “printf”:

#! / bin / bash
printf “Sveiki Linuxhint”

Lai saglabātu failu, nospiediet “Esc”, Lai pārslēgtu režīmu un pēc tam ierakstītu “: W piemērs.sh ”un pēc tam“Enter ”. Tagad atveriet jaunu termināla logu un ierakstiet:

$ bash piemērs.sh

Iepriekš minētā komanda izpildīs skriptu, izdrukājot tekstu “hello linuxhint”, kā parādīts zemāk:

Tagad iekļausim dažus formātu specifikatorus:

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

Iepriekš minētajā piemērā “% s” norāda, ka atbilstošais arguments jaunajai rindai ir jāuzskata par virkni un “\ n”. Līdzīgi, ja izmantosim “% d”, arguments tiks uzskatīts par veselu skaitli:

#! / bin / bash
printf “% s \ n” “Labdien Linuxhint” “Uzziniet par” “Linux”

Visi trīs argumenti tiks uzskatīti par virkni un izdrukāti jaunā rindā, kā parādīts šādā izvadē:

Cits piemērs ir minēts tālāk, lai saprastu komandas “printf” lietošanu:

#! / bin / bash
atbalss “Ievadi savu vārdu”
lasīt vārdu
atbalss “Ievadiet savu vecumu”
lasīšanas vecums
printf “Tavs vārds:% s \ nJūsu vecums:% s \ n” “$ name” “$ age”

“Jūsu vārds:% s \ n Jūsu vecums:% s \ n” ir formāts, bet “$ name” “$ Age” ir argumenti. Tā kā “% s” norāda argumentus.

Kā izmantot reklāmguvumu specifikatorus ar komandu printf:

Reklāmguvumu specifikatori ir rakstzīmes, kas tiek lietotas kopā ar zīmi “%”, lai norādītu, kā rīkoties ar argumentiem. Pārbaudīsim dažu parasti izmantoto specifikatoru sarakstu:

Specifikators Daprakstīšana
%% Izdrukā simbolu “%”
% c Argumentus uztver kā vienu rakstzīmi
% e un% E Veikt argumentu peldošā komata skaitlī un izdrukāt eksponenciālā apzīmējumā, % e mazajiem burtiem un % E lielajam burtam
% g un% G Paņemiet argumentu peldošā komata skaitlī un izdrukājiet normālā vai eksponenciālā apzīmējumā
% f Argumentu uzskata par peldošiem skaitļiem
% d Argumentus uzskata par parakstītiem veseliem skaitļiem
% u Argumentu uzskata par neparakstītiem veseliem skaitļiem
% o Uztver argumentu kā neparakstītu astotnieku
% x un% X Argumentus uztver kā neparakstītus heksadecimālos skaitļus

Sīkāk izstrādāsim iepriekš minētos specifikatorus ar piemēru bash:

#! / bin / bash
atbalss “Ievadiet konvertējamo numuru”
lasīt numuru
printf “Decimāls:% d \ nOctal:% o \ nHex:% X \ n” “$ numurs” “$ numurs” “$ numurs”

Kā izmantot Flag, Width un Precision direktīvas ar komandu printf:

Karodziņu direktīvas ir pieejamas pēc izvēles ar komandu “printf”. Parasti izmantotās karoga direktīvas ir

  • “-” Kreisais attaisno izvadi
  • “+” Pievieno “+” zīmi ar veselu skaitli
  • “0” atstarpes vietā pievieno “0” ar skaitli

Platuma direktīvas papildina vietu ar izvadi, kas parasti tiek izmantota pēc karodziņa. Sapratīsim to ar piemēru:

#! / bin / bash
atbalss “Ievadi savu vārdu”
lasīt vārdu
atbalss “Ievadiet savu vecumu”
lasīšanas vecums
printf “Jūsu vārds un vecums ir:% 5s% 5d \ n” “$ name” “age”

“% 30s” nozīmē, ka atstarpes garums ir 30 rakstzīmes, un, lai izlīdzinātu izvades veidlapu pa kreisi, izmantojiet zīmi “-” “% -30s”.

Precīzijas direktīva sastāv no punkta “.”Aiz pozitīvā veselā skaitļa:

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

Rezultāts būtu:

Ja skaitlis ir vesels skaitlis, precizitātes direktīva pirms skaitļa pievienos “0”. Ja skaitlis ir peldošā komata tips, tad precizitātes direktīva noteiks pozitīvo ciparu skaitu aiz komata. Virknei tas norāda parādāmo rakstzīmju skaitu:

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

Backslash Escaped parametri:

Atpakaļsvītras aizbēgšanas parametrus, sauktus arī par glābšanās sekvencēm, izmanto ar slīpsvītru, lai formatētu virkni ar komandu “printf”. Šīs sekvences nepārstāv sevi, bet interpretē dažās citās rakstzīmēs. Dažas parasti izmantotās evakuācijas sekvences ir:

Raksturs Apraksts
\\ Izdrukā slīpsvītru
\ b Drukā atpakaļatkāpes rakstzīmi
\ n Izdrukā izvadi jaunā rindā
\ r Izdrukā atgriešanos ar karieti (kursors rindas sākumā)
\ t Piešķir vietu cilnei no labās puses
\ v Dod vietu cilnei

Secinājums:

Kad kaut ko izdrukā bash skriptos, visbiežāk tiek izmantota komanda “echo”, jo to ir viegli lietot un atcerēties. Bet komandai “atbalss” ir ierobežojums. Tāpēc, lai pareizi formatētu izvadi, “Printf” komandu var izmantot. The “Printf” komandā ir daudz iespēju formatēt virknes izvadi un pat pamata skaitļu konvertēšanu un formatēšanu. Šajā rokasgrāmatā ir pamatoti izprasta komandas “printf” funkcionalitāte bash skriptu veidošanā ar piemēriem.

Peles kreisā klikšķa poga nedarbojas operētājsistēmā Windows 10
Ja ar klēpjdatoru vai galddatoru izmantojat īpašu peli, bet nedarbojas peles kreisās klikšķa poga kādu iemeslu dēļ operētājsistēmā Windows 10/8/7 šeit...
Rakstot Windows 10, kursors lec vai pārvietojas nejauši
Ja atklājat, ka peles kursors automātiski, nejauši lec vai pārvietojas pats, rakstot Windows klēpjdatorā vai datorā, daži no šiem ieteikumiem var palī...
Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...