„printf"Команда в bash скриптове работи по същия начин"printf ()”Работи на C език. Тази публикация ще се фокусира върху „printf”, Нейния синтаксис и примери, които доразвиват използването на тази команда. Нека проверим синтаксиса на „printf”Команда:
printf : Не е задължително да се присвоява изход на променлива.
Как да използвам командата printf в bash скриптове с помощта на Vim редактор:
Използваме Vim editor за това ръководство поради богатата му функционалност и лекота на използване. Вземете Vim на вашето устройство, като използвате:
$ sudo apt install vimСтартирайте редактор на vim:
$ vimНека напишем проста програма за отпечатване на низ, използвайки “printf”:
#! / bin / bashprintf “Здравейте Linuxhint”
За да запазите файла, натиснете „Esc”, За да превключите режима и след това въведете “: W пример.ш "и след това"Ентеr ”. Сега отворете нов терминален прозорец и напишете:
$ bash пример.шГорната команда ще изпълни скрипта и ще отпечата текста „hello linuxhint”, както е показано по-долу:
Сега, нека включим някои спецификатори на формат:
#! / bin / bashprintf “% s \ n” “Здравейте Linuxhint”
В горния пример „% s“ казва, че съответният аргумент трябва да се третира като низ и „\ n“ за новия ред. По същия начин, ако използваме „% d“, тогава аргументът ще се третира като цяло число:
#! / bin / bashprintf “% s \ n” “Здравейте Linuxhint” “Научете за” “Linux”
И трите аргумента ще бъдат третирани като низ и ще бъдат отпечатани в нов ред, както е показано в следващия изход:
Друг пример е споменат по-долу, за да се разбере използването на командата “printf”:
#! / bin / bashехо „Въведете името си“
прочетете име
ехо „Въведете възрастта си“
четена възраст
printf “Вашето име:% s \ nВашата възраст:% s \ n” “$ name” “$ age”
„Вашето име:% s \ n Вашата възраст:% s \ n“ е формат, докато „$ name“ „$ Age“ са аргументите. Докато „% s“ посочва аргументите.
Как да използвам спецификаторите на преобразуване с командата printf:
Спецификаторите на преобразуване са символи, използвани със знака „%“, за да посочат как да се третират аргументите. Нека проверим списъка с някои често използвани спецификатори:
Спецификатор | дескрипция |
---|---|
%% | Отпечатва символ „%“ |
%° С | Взема аргументи като един знак |
% e и% E | Вземете аргумент в число с плаваща запетая и отпечатва в експоненциална нотация, % д за малки букви и % E за главна буква |
% g и% G | Вземете аргумент в число с плаваща запетая и отпечатвайте в нормална или експоненциална нотация |
% f | Приема аргумента като плаващи числа |
%д | Взема аргументи като подписани цели числа |
% u | Взема аргумент като неподписани цели числа |
% o | Приема аргумент като неописано осмично число |
% x и% X | Взема аргументи като неподписани шестнадесетични цели числа |
Нека допълнително да разработим горните спецификатори с пример в bash:
#! / bin / bashехо „Въведете число за преобразуване“
прочетено число
printf “Десетично:% d \ nОктално:% o \ nHex:% X \ n” “$ number” “$ number” “$ number”
Как да използваме директивите Flag, Width и Precision с командата printf:
Директивите за флаг идват с незадължителна употреба с командата “printf”. Често използваните директиви за флагове са
- “-” Ляво оправдаване на изхода
- “+” Добавя знак “+” с цяло число
- „0“ Добавя „0“ с число вместо интервали
Директивите за ширината добавят пространство с изхода, който обикновено се използва след флага. Нека го разберем с пример:
#! / bin / bashехо „Въведете името си“
прочетете име
ехо „Въведете възрастта си“
четена възраст
printf „Вашето име и възраст са:% 5s% 5d \ n“ „$ name“ „възраст“
„% 30s“ означава, че интервалът е с дължина 30 символа и за да подравните изходната форма вляво, използвайте знака „-“ „% -30s“.
Директивата за прецизността се състои от точка „.”Следва се с положително цяло число:
#! / bin / bashprintf “%.2f ”2.56473
Резултатът ще бъде:
Ако числото е цяло число, директивата за точността ще добави „0“ преди числото. Ако числото е тип с плаваща запетая, тогава директивата за точност ще укаже броя на положителните цифри след десетичната запетая. За низ той определя броя на символите, които трябва да бъдат показани:
#! / bin / bashprintf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n ”“ samlinux ”
Параметри, избягали от обратната наклонена черта:
Параметрите за изтичане на обратната наклонена черта, наричани още изходни последователности, се използват с обратна наклонена черта, за да форматирате низа с командата “printf”. Тези последователности не представляват себе си, а интерпретират в някои други знаци. Някои често използвани изходни последователности са:
Характер | Описание |
---|---|
\\ | Отпечатва обратна наклонена черта |
\ b | Отпечатва обратен знак |
\н | Отпечатва изход в нов ред |
\ r | Отпечатва връщане на каретка (курсор в началото на реда) |
\T | Дава пространство в раздела отдясно |
\ v | Дава пространство в раздела |
Заключение:
Когато става въпрос за отпечатване на нещо в bash скриптове, най-често се използва командата “echo”, защото е лесна за използване и запомняне. Но командата “echo” има своите ограничения. Следователно, за да форматирате правилно изхода, “Printf” може да се използва команда. The “Printf” Командата идва с много опции за форматиране на изходни низове и дори преобразуване и форматиране на основни числа. Това ръководство разбира подробно функционалността на командата “printf” в bash скриптове с примери.