BASH Программирование

Команда Bash Printf

Команда Bash Printf
Работая со сценариями bash, мы в основном используем команду «echo» для вывода любого вывода, который удобен и прост в использовании и большую часть времени удовлетворяет требованиям. Но простота имеет ограничения; Команда echo имеет собственное ограничение, когда дело доходит до форматирования вывода, в этом случае: «printf»Команда играет свою роль.

Значок «printf"Команда в сценарии bash работает так же"printf ()»Работает на языке Си. Этот пост будет посвящен теме «printf», Ее синтаксис и примеры, в которых подробно описывается использование этой команды. Давайте проверим синтаксис оператора «printf”Команда:

printf

: Необязательно назначать вывод переменной.
: Это строка, которая может содержать различные спецификаторы формата, такие как «% s», «% b», «% d», «% f» и escape-символ обратной косой черты
: Аргументы могут быть любым значением или переменной

Как использовать команду printf в сценариях bash с помощью редактора Vim:

Мы используем редактор Vim для этого руководства из-за его богатой функциональности и простоты использования. Загрузите Vim на свое устройство, используя:

$ sudo apt install vim

Запустите редактор vim:

$ vim

Напишем простую программу для печати строки с помощью «printf»:

#! / bin / bash
printf «Привет, Linuxhint»

Чтобы сохранить файл, нажмите кнопку «Esc», Чтобы переключить режим, а затем введите «: W пример.sh », а затем«Энтер". Теперь откройте новое окно терминала и введите:

Пример $ bash.ш

Вышеупомянутая команда выполнит сценарий и распечатает текст «hello linuxhint», как показано ниже:

Теперь давайте включим некоторые спецификаторы формата:

#! / bin / bash
printf «% s \ n» «Привет, Linuxhint»

В приведенном выше примере «% s» указывает, что соответствующий аргумент следует рассматривать как строку, а «\ n» - как новую строку. Точно так же, если мы используем «% d», то аргумент будет рассматриваться как целое число:

#! / bin / bash
printf «% s \ n» «Hello Linuxhint» «Узнайте о» «Linux»

Все три аргумента будут обрабатываться как строка и выводиться с новой строки, как показано в следующем выводе:

Другой пример упомянут ниже, чтобы понять использование команды «printf»:

#! / bin / bash
echo «Введите свое имя»
читать имя
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 / bash
echo «Введите число для преобразования»
читать номер
printf «Десятичный:% d \ nOctal:% o \ nHex:% X \ n» «$ number» «$ number» «$ number»

Как использовать директивы Flag, Width и Precision с командой printf:

Директивы флагов необязательно могут использоваться с командой printf. Обычно используемые флаговые директивы:

  • «-» Выровнять вывод по левому краю
  • «+» Добавляет знак «+» к целому числу
  • «0» Добавляет «0» с числом вместо пробелов

Директивы ширины добавляют пробел с выводом, который обычно используется после флага. Давайте разберемся с этим на примере:

#! / bin / bash
echo «Введите свое имя»
читать имя
echo «Укажите свой возраст»
читать возраст
printf «Ваше имя и возраст:% 5s% 5d \ n» «$ name» «возраст»

«% 30s» означает, что длина пробела составляет 30 символов, и для выравнивания выходной формы по левому краю используйте знак «-» «% -30s».

Директива точности состоит из точки «.”Далее следует положительное целое число:

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

Результатом будет:

Если число является целым, директива точности добавит «0» перед числом. Если число является типом с плавающей запятой, тогда директива точности укажет количество положительных цифр после десятичной запятой. Для строки он определяет количество отображаемых символов:

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

Параметры с экранированием обратной косой черты:

Управляющие параметры обратной косой черты, также называемые escape-последовательностями, используются с обратной косой чертой для форматирования строки с помощью команды «printf». Эти последовательности не представляют себя, но интерпретируются некоторыми другими символами. Некоторые часто используемые escape-последовательности:

Персонаж Описание
\\ Печатает символ обратной косой черты
\ b Печатает символ возврата
\ п Печатает вывод в новой строке
Печатает возврат каретки (курсор в начале строки)
\ т Дает место для вкладки справа
\ v Предоставляет место для вкладки

Заключение:

Когда дело доходит до печати чего-либо в сценариях bash, чаще всего используется команда «echo», потому что она проста в использовании и запоминается. Но у команды «эхо» есть свои ограничения. Поэтому для правильного форматирования вывода «Printf» команда может быть использована. В «Printf» команда имеет множество параметров для форматирования вывода строки и даже преобразования и форматирования базовых чисел. В этом руководстве подробно рассматриваются функции команды «printf» в сценариях bash с примерами.

5 лучших эргономичных компьютерных мышей для Linux
Вызывает ли длительное использование компьютера боль в запястье или пальцах?? Вы страдаете от скованности суставов и постоянно должны пожимать руки? В...
Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...
Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...