Значок «printf"Команда в сценарии bash работает так же"printf ()»Работает на языке Си. Этот пост будет посвящен теме «printf», Ее синтаксис и примеры, в которых подробно описывается использование этой команды. Давайте проверим синтаксис оператора «printf”Команда:
printf : Необязательно назначать вывод переменной.
Как использовать команду printf в сценариях bash с помощью редактора Vim:
Мы используем редактор Vim для этого руководства из-за его богатой функциональности и простоты использования. Загрузите Vim на свое устройство, используя:
$ sudo apt install vimЗапустите редактор vim:
$ vimНапишем простую программу для печати строки с помощью «printf»:
#! / bin / bashprintf «Привет, Linuxhint»
Чтобы сохранить файл, нажмите кнопку «Esc», Чтобы переключить режим, а затем введите «: W пример.sh », а затем«Энтер". Теперь откройте новое окно терминала и введите:
Пример $ bash.шВышеупомянутая команда выполнит сценарий и распечатает текст «hello linuxhint», как показано ниже:
Теперь давайте включим некоторые спецификаторы формата:
#! / bin / bashprintf «% s \ n» «Привет, Linuxhint»
В приведенном выше примере «% s» указывает, что соответствующий аргумент следует рассматривать как строку, а «\ n» - как новую строку. Точно так же, если мы используем «% d», то аргумент будет рассматриваться как целое число:
#! / bin / bashprintf «% s \ n» «Hello Linuxhint» «Узнайте о» «Linux»
Все три аргумента будут обрабатываться как строка и выводиться с новой строки, как показано в следующем выводе:
Другой пример упомянут ниже, чтобы понять использование команды «printf»:
#! / bin / bashecho «Введите свое имя»
читать имя
echo «Укажите свой возраст»
читать возраст
printf «Ваше имя:% s \ nВаш возраст:% s \ n» «$ name» «$ age»
«Ваше имя:% s \ n Ваш возраст:% s \ n» - это формат, а «$ name» «$ Age» - это аргументы. В то время как «% s» указывает аргументы.
Как использовать спецификаторы преобразования с командой printf:
Спецификаторы преобразования - это символы, используемые со знаком «%», чтобы указать, как обращаться с аргументами. Давайте проверим список некоторых часто используемых спецификаторов:
Спецификатор | Dподписка |
---|---|
%% | Печатает символ «%» |
% c | Принимает аргументы как один символ |
% e и% E | Принимать аргумент в виде числа с плавающей запятой и печатать в экспоненциальной записи, % e для строчной буквы и % E для заглавной буквы |
% г и% G | Принимать аргумент в виде числа с плавающей запятой и печатать в нормальном или экспоненциальном представлении |
% f | Принимает аргумент как плавающие числа |
% d | Принимает аргументы как целые числа со знаком |
% u | Принимает аргумент как целые числа без знака |
% o | Принимает аргумент как восьмеричное число без знака |
% x и% X | Принимает аргументы как беззнаковые шестнадцатеричные целые числа |
Давайте доработаем вышеупомянутые спецификаторы на примере в bash:
#! / bin / bashecho «Введите число для преобразования»
читать номер
printf «Десятичный:% d \ nOctal:% o \ nHex:% X \ n» «$ number» «$ number» «$ number»
Как использовать директивы Flag, Width и Precision с командой printf:
Директивы флагов необязательно могут использоваться с командой printf. Обычно используемые флаговые директивы:
- «-» Выровнять вывод по левому краю
- «+» Добавляет знак «+» к целому числу
- «0» Добавляет «0» с числом вместо пробелов
Директивы ширины добавляют пробел с выводом, который обычно используется после флага. Давайте разберемся с этим на примере:
#! / bin / bashecho «Введите свое имя»
читать имя
echo «Укажите свой возраст»
читать возраст
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 »
Параметры с экранированием обратной косой черты:
Управляющие параметры обратной косой черты, также называемые escape-последовательностями, используются с обратной косой чертой для форматирования строки с помощью команды «printf». Эти последовательности не представляют себя, но интерпретируются некоторыми другими символами. Некоторые часто используемые escape-последовательности:
Персонаж | Описание |
---|---|
\\ | Печатает символ обратной косой черты |
\ b | Печатает символ возврата |
\ п | Печатает вывод в новой строке |
\р | Печатает возврат каретки (курсор в начале строки) |
\ т | Дает место для вкладки справа |
\ v | Предоставляет место для вкладки |
Заключение:
Когда дело доходит до печати чего-либо в сценариях bash, чаще всего используется команда «echo», потому что она проста в использовании и запоминается. Но у команды «эхо» есть свои ограничения. Поэтому для правильного форматирования вывода «Printf» команда может быть использована. В «Printf» команда имеет множество параметров для форматирования вывода строки и даже преобразования и форматирования базовых чисел. В этом руководстве подробно рассматриваются функции команды «printf» в сценариях bash с примерами.