Сценарии Bash очень популярны и являются одним из самых простых языков сценариев. Как и в любом другом языке программирования или написания сценариев, вам иногда придется выводить текст на терминал. Это может происходить во многих сценариях, например, когда вы хотите вывести содержимое файла или проверить значение переменной. Программисты также отлаживают свои приложения, выводя значения переменных на консоль. Прежде чем мы перейдем к созданию сценариев Bash, чему будет посвящен другой учебник, давайте рассмотрим различные способы вывода текста в терминале.
Echo - это самая важная команда, которую необходимо знать для вывода текста в терминал. Как следует из названия, Echo печатает числа или строки на стандартный вывод терминала. Она также имеет ряд опций, которые перечислены в следующей таблице.
Опция | Определение |
-n | Не печатать завершающую новую строку |
-E | Отключить интерпретацию символов, экранированных обратной косой чертой |
-e | Включить интерпретацию символов обратной косой черты |
\a | Предупреждение |
\b | Backspace (Обратный пробел) |
\c | Подавлять новую строку в конце строки |
\e | Escape (Эскейп) |
\f | Формировать подачу |
\\ | Обратная косая черта |
\n | Новая строка |
\r | Возврат каретки |
\t | Горизонтальная табуляция |
\v | Вертикальная табуляция |
Согласно документации Linux, синтаксис команды echo следующий.
1 | echo [опция(и)][строка(и)] |
Теперь мы рассмотрим различные способы вывода текста на терминал.
Отправка текста на стандартный вывод
Чтобы вывести на терминал любую строку, число или текст, введите следующую команду и нажмите Enter.
1 | echo "Hello World" |
На терминале появится следующий вывод
Вывод переменной
Давайте объявим переменную и выведем ее значение на терминал. Предположим, что x - это переменная, которую мы инициализировали значением 100.
1 | x=100 |
Теперь выведем значение переменной на терминал.
1 | echo $x |
На терминале будет выведено значение 100. Аналогичным образом можно хранить строку в переменной и выводить ее на терминал.
Удалить пробелы между словами
Это одна из моих любимых опций команды echo, поскольку она удаляет все пробелы между разными словами в предложениях и объединяет их вместе. В этой функции мы будем использовать две опции, как указано в таблице 1.
1 | echo -e "Hello \bWorld. \bBash \bLinux \bString" |
Как видно из приведенного выше примера, мы включаем интерпретацию обратных косых черточек, а также добавляем обратный пробел. Был получен следующий результат.
Вывод слова в новой строке
Эта опция echo очень полезна при работе со сценариями bash. Чаще всего вам нужно перейти к следующей строке после завершения работы. Поэтому лучше всего использовать именно эту опцию.
1 | echo -e "Wake \nup \nNeo... \nThe \nMatrix \nhas \nyou." |
На выходе каждое слово будет отображаться в отдельной строке, как показано на скриншоте ниже.
Вывод текста со звуком
Это простой вариант вывода текста со звуком или оповещением. Для этого введите следующую команду.
1 | echo -e "Wake up, Neo.. \aThe Matrix has you." |
Убедитесь, что уровень громкости в системе достаточно высок, чтобы вы могли услышать крошечный колокольчик, который звучит при выводе текста на терминал.
Удаление окончания строки
Другая опция echo - удалить новую строку, чтобы все выводилось на одной строке. Для этого мы используем опцию "\c", как показано на рисунке ниже.
1 | echo -e "Wake up, Neo.. \cThe Matrix has you." |
Будет показан следующий результат
Добавление возврата каретки в вывод
Чтобы добавить определенный возврат каретки в вывод, у нас есть опция "\r".
1 | echo -e "Wake up, Neo.. \rThe Matrix has you." |
На терминале появится следующий вывод.
Использование табуляции в выводе
При печати вывода на терминале вы можете добавить горизонтальные и вертикальные табуляции. Это удобно для более чистого вывода. Чтобы добавить горизонтальные табуляции, нужно добавить "\t", а для вертикальных табуляций - "\v". Мы сделаем пример для каждого из них, а затем комбинированный.
1 | echo -e "Wake up, Neo.. \tThe Matrix has you." |
Вывод для этой команды будет выглядеть следующим образом
1 | echo -e "Wake up, Neo.. \vThe Matrix has you." |
Вывод для этой команды будет выглядеть следующим образом
Теперь мы объединим этот пример для имеющегося набора предложений.
echo -e "Wake up, Neo.. \vThe Matrix \thas you."
На терминале будет выведено следующее.
Это все опции, которые можно использовать для вывода текста в терминале. Это важная функция, которую нужно изучить, потому что она поможет вам, когда вы начнете работать над сценариями bash.