Поиск по сайту:

Сценарии Bash: как выводить и форматировать текст в оболочке Linux


Скрипты Bash очень популярны и являются одними из самых простых языков сценариев. Как и в любом языке программирования или сценариев, иногда вы будете выводить текст на терминал. Это может произойти во многих сценариях, например, когда вы хотите распечатать содержимое файла или проверить значение переменной. Программисты также отлаживают свои приложения, выводя значения переменных на консоль. Прежде чем мы перейдем к написанию сценариев Bash, что станет еще одним учебным пособием, давайте рассмотрим различные способы вывода текста в терминал.

Echo — самая важная команда, которую вам нужно знать для вывода текста на терминал. Как следует из названия, Echo выводит числа или строки на стандартный вывод терминала. Он также имеет ряд опций, которые перечислены в следующей таблице.

Options

Определение

-n

Не печатать завершающую новую строку

-E

Отключить интерпретацию экранированных символов обратной косой черты.

-e

Включить интерпретацию обратной косой черты

\a

Тревога

\b

Backspace

\c

Подавить завершающую новую строку

\e

Побег

\f

Подача формы

\\

обратная косая черта

\n

Новая линия

\r

Возврат каретки

\t

Горизонтальная вкладка

\v

Вертикальная вкладка

Согласно документации Linux, следующий синтаксис команды echo.

echo [option(s)][string(s)]

Теперь мы увидим различные способы вывода текста на терминал.

Отправить текст на стандартный вывод

Чтобы вывести любую строку, число или текст на терминал, введите следующую команду и нажмите Enter.

echo "Hello World"

Следующий вывод будет показан на терминале

Распечатать переменную

Давайте объявим переменную и выведем ее значение на терминал. Предположим, x — переменная, которую мы инициализировали значением 100.

x=100

Теперь мы выведем значение переменной на терминал.

echo x

На терминале будет напечатано 100. Аналогичным образом вы также можете сохранить строку в переменной и вывести ее на терминал.

Попробуйте и дайте нам знать, было ли это легко для вас.

Удалить пробел между словами

Это один из моих любимых вариантов команды echo, поскольку он удаляет все пробелы между разными словами в предложениях и смешивает их вместе. В этой функции мы будем использовать два параметра, упомянутых в таблице 1.

echo -e "Hello \bmy \bname \bis \bjohn \bDoe"

Как вы можете видеть из приведенного выше примера, мы включаем интерпретацию обратной косой черты, а также добавляем обратный пробел. Был показан следующий вывод.

Вывести слово в новой строке

Этот вариант echo очень удобен, когда вы работаете со сценариями bash. Обычно вам нужно перейти к следующей строке, как только вы закончите. Поэтому это лучший вариант для этого.

echo -e "Hello \nmy \nname \nis \nJohn \nDoe"

В выводе каждое слово будет отображаться в отдельной строке, как показано на снимке экрана ниже.

Вывод текста со звуком

Это простой вариант вывода текста со звонком или оповещением. Для этого введите следующую команду.

echo -e "Hello \amy name is John Doe"

Убедитесь, что громкость вашей системы достаточно высока, чтобы вы могли услышать крошечный колокольчик, который звучит при выводе текста на терминал.

Удалить конечную новую строку

Другой вариант эха — удалить завершающую новую строку, чтобы все выводилось в одной строке. Для этого мы используем опцию «\c», как показано на рисунке ниже.

echo -e "Hello my name \cis John Doe"

Показан следующий вывод

Добавьте возврат каретки в вывод

Чтобы добавить определенный возврат каретки в ваш вывод, у нас есть опция «\r».

echo -e "Hello my name \ris John Doe"

На терминале вам будет показан следующий вывод.

Используйте вкладки в выводе

При печати вывода на терминале вы также можете добавлять горизонтальные и вертикальные вкладки. Они пригодятся для более чистого вывода. Чтобы добавить горизонтальные вкладки, вам необходимо добавить «\t», а для вертикальных вкладок — «\v». Мы сделаем выборку для каждого из них, а затем комбинированную.

echo -e "Hello my name \tis John Doe"

Вывод этой команды будет показан следующим образом.

echo -e "Hello my name \vis John Doe"

Вывод этой команды будет показан следующим образом.

Теперь мы объединим этот пример с имеющимся у нас набором предложений.

echo -e "Hello my name \vis John Doe. Hello! My name is \tJane Doe"

На терминале будет напечатано следующее.

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

Статьи по данной тематике: