В этом руководстве показано, как вывести текст в окно терминала с помощью команды Linux echo.
Самостоятельно используемая в терминале, команда echo не особенно полезна, но при использовании в качестве части сценария она может использоваться для отображения инструкций, ошибок и уведомлений.
Пример использования команды Linux Echo
В простейшем виде проще всего выводить текст на терминал следующим образом:
echo "hello world"
Приведенная выше команда выводит слова «hello world» на экран (без кавычек).
По умолчанию оператор echo выводит символ новой строки в конце строки.
Чтобы проверить это, попробуйте следующий оператор в окне терминала:
echo "hello world" && echo "goodbye world"
Вы увидите, что результат выглядит следующим образом:
Привет, мир
Прощай, мир
Вы можете опустить символ новой строки, добавив переключатель минус n (-n) следующим образом:
echo -n "Привет, мир" && echo -n "Прощай, мир"
Результат от вышеупомянутой команды следующий:
Привет, мир, прощай, мир
Еще одна вещь, о которой следует подумать при использовании оператора echo, – это как он обрабатывает специальные символы.
Например, попробуйте следующее в окне терминала:
эхо "Привет, мир!"
В идеальном мире \ r и \ n будут действовать как специальные символы для добавления новой строки, но они этого не делают. Результат выглядит следующим образом:
привет мир \ r \ nпрощенный мир
Вы можете включить специальные символы с помощью команды echo, включив ключ -e следующим образом:
echo -e "Привет, мир!"
На этот раз результат будет следующим:
Привет, мир
Прощай, мир
Конечно, вы можете оказаться в ситуации, когда вы пытаетесь вывести строку, которая будет обрабатываться как специальный символ, и вам это не нужно. В этом сценарии используйте капитал e следующим образом:
echo -E "Привет, мир!"
Какие специальные символы обрабатываются с помощью ключа -e?
- \ \ обратная косая черта
- \ оповещение
- \ B Backspace
- \ c больше не выводить
- \ побег
- \ f подача формы
- \ n новая строка
- возврат каретки
- \ т горизонтальная вкладка
- вертикальная вкладка
- Восьмеричное значение \ 0NNN с 1-3 цифрами
- \ xHH байт с шестнадцатеричным значением
Давайте попробуем пару из них. Запустите следующую команду в терминале:
echo -e "hel \ blo world"
Приведенная выше команда выдаст следующее:
helo world
Очевидно, это не совсем то, что вы хотели бы вывести на экран, но вы понимаете, что обратная косая черта b удаляет предыдущую букву.
Теперь попробуйте следующее в окне терминала:
echo -e "hello \ c world"
Эта команда выводит все до обратной косой черты и c. Все остальное опущено, включая новую строку.
Так в чем же разница между символом новой строки и возвратом каретки? Символ новой строки перемещает курсор вниз на следующую строку, тогда как возврат каретки перемещает курсор назад влево.
В качестве примера введите следующее в окно вашего терминала:
echo -e "hello \ nworld"
Выходные данные вышеупомянутой команды помещают два слова в разные строки:
привет
мир
Теперь попробуйте это в окне терминала:
echo -e "hello \ rworld"
Разница между новой строкой и возвратом каретки станет очень очевидной, поскольку в качестве вывода будет показано следующее:
мир
Слово hello было отображено, возврат каретки переместил курсор в начало строки, и слово world было отображено.
Это становится немного более очевидным, если вы попробуете следующее:
echo -e "hello \ rhi"
Вывод из вышесказанного выглядит следующим образом:
Hillo
В действительности многие люди все еще используют нотацию \ r \ n при выводе на новую строку. Довольно часто, однако, вы можете сойти с рук только с \ n.