Вывод в файл bash в linux

Примеры команды echo в Linux

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

Команда echo имеет простой синтаксис с несколькими опциями:

Давайте посмотрим несколько примеров команды echo:

1. Отображение значения переменной

Допустим, вы объявили переменную var = 100. Вы можете отобразить значение этой переменной с помощью команды echo:

Его вывод будет отображаться так:

Значение переменной var равно 100

2. Не печатайте последний символ новой строки

По умолчанию выходные данные команды echo добавляют новую строку к выходным данным, чтобы выходные данные отображались в одной целой строке.

destroyer@andreyex:~$ echo Привет Мир
Привет Мир

Вы можете подавить этот символ новой строки, используя опцию -n:

destroyer@andreyex:~$ echo Привет Мир
Привет Мирdestroyer@andreyex:~$

3. Перенаправить вывод в файл

Вы можете использовать команду echo, чтобы создать новый файл в Linux или добавить новый текст в существующий файл, перенаправив вывод в файл:

3. Использование escape-символов с командой echo

Опция -e с echo позволяет вам интерпретировать escape-символы. С помощью escape-символов вы можете отображать текст на экране другим способом по вашему выбору.

Следующие escape-символы доступны с escape:

  • \a – оповещение (воспроизводит звуковой сигнал)
  • \b – Backspace
  • \c – не печатать последний перевод строки (так же, как опция -n)
  • \f – из корма
  • \n – перевод строки
  • \r – возврат каретки
  • \t – горизонтальная вкладка
  • \v – вертикальная вкладка
  • \\ – обратная косая черта
  • \’- одинарная кавычка
  • \”- двойная цитата

В то время как опция -e просит команду echo интерпретировать escape-символы, опция -E делает обратное и игнорирует escape-символы.

Теперь давайте посмотрим, как использовать некоторые из этих escape-символов с командой echo.

Можете ли вы угадать, какой будет вывод команды выше? Вот:

Око за оком оставляет весь мир слепым
– Ганди

Давайте посмотрим некоторые другие примеры escape-символов. Символ возврата каретки печатает только текст после этого символа.

destroyer@andreyex:~$ echo -e “Привет\rМир”
Мир

Если вы используете символ возврата, он удалит один символ перед ним:

destroyer@andreyex:~$ echo -e “Привет \bМир”
ПриветМир

Вы можете играть с другими escape-символами таким же образом.

4. Отображение текста с одинарными или двойными кавычками с помощью команды echo

Работа с одинарными и двойными кавычками часто является головной болью.

Если у вас есть одинарная кавычка в тексте, который вы хотите отобразить, вы должны заключить весь ввод в двойные кавычки:

destroyer@andreyex:~$ echo “Это мой мир”
Это мой мир

Если вы хотите отобразить двойные кавычки, вы должны «избежать» этого:

destroyer@andreyex:~$ echo “Это \”мой\” мир”
Это “мой” мир

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

Чтобы отобразить содержимое текущего каталога, вы можете использовать эту команду:

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

6. Используйте команду echo для очистки файла в Linux

Мы уже показали этот совет для очистки файлов журналов в Linux. Если у вас есть текстовый файл, и вы хотите очистить его содержимое, не удаляя сам файл, вы можете использовать команду echo следующим образом:

Бонусный совет: отображение вывода команды echo в цвете

Вы, вероятно, натолкнулись на какой-нибудь bash-скрипт, отображающий вывод текста другим цветом. Задумывались ли вы, как это делается? Позвольте нам показать вам это.

Вы можете использовать escape-последовательность ANSI и изменить внешний вид вывода, например, цвет фона, подчеркивание, полужирный и т. д.

Чтобы изменить цвет выходного текста, вы можете использовать эти:

echo -e “\033[30mЭто Черный”
echo -e “\033[31mЭто Красный”
echo -e “\033[32mЭто Зеленый”
echo -e “\033[33mЭто Желтый”
echo -e “\033[34mЭто Синий”
echo -e “\033[35mЭто Пурпурный”
echo -e “\033[36mЭто Голубой”
echo -e “\033[37mЭто Белый”

\033[представляет ESC[ в приведенных выше командах.

Ну вот и все. Мы думаем, что вы увидели множество примеров команды echo в Linux. Если вы используете echo для каких-то конкретных целей, которые могут быть полезны для других, поделитесь им с нами в разделе комментариев.

Переменные

  • Используйте ключевое слово read в скрипте, чтобы запросить данные у пользователя, запускающего скрипт.
  • Используйте подстановку команд, чтобы использовать результат команды и назначить его переменной. Например, команда date +%d-%m-%y показывает текущую дату в формате день-месяц-год. Чтобы сделать это в сценарии, вы можете использовать TODAY=$(date +%d-%m-%y). Для подстановки команд вам просто нужно поместить команду, результат которой вы хотите использовать, между скобками.

Листинг 3.read

if… then… else… fi $1test test if …-z $1 — на самом деле тремя (прим. переводчика)-z test$1 if $1then test then testthen echoreadread read TEXT elseelse $1fiechoВы можете попрактиковаться на этом примере при работе с вводом.

  1. Откройте редактор и создайте файл с именем text. Введите содержимое кода из листинга 3 в этот файл.
  2. Запишите файл на диск и выполните chmod +x text, чтобы сделать его исполняемым.
  3. Запустите скрипт, выполнив ./text и без дополнительных аргументов. Вы увидите, что он запрашивает ввод.
  4. Запустите скрипт, используя «hello» в качестве аргумента (./text hello). Результат отобразит «you have entered the text hello» в STDOUT.

Об авторах

Daniel Robbins

Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.

Aron Griffis

Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жонглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».

Использование условий и циклов

  • if… then… else — используется для выполнения кода, если определенное условие выполняется
  • for — используется для выполнения команд для диапазона значений
  • while — используется для выполнения кода, если выполняется определенное условие
  • before — используется для выполнения кода, пока не выполнено определенное условие
  • case — используется для оценки ограниченного количества конкретных значений

if then elsetestif if… then… fi

else if elsetestЛистинг 4 if then else

|| и &&

if… then||&&||&&Рассмотрим эти две строки:

$1ping pingif &&||if… then… else&& ||Упражнение if… then… else

  1. Запустите редактор и создайте скрипт с именем filechk.
  2. Скопируйте содержимое из листинга 4 в этот скрипт.
  3. Запустите с ним пару тестов, такие как ./filechk /etc/hosts, ./filechck /usr, ./filechk non-existing-file.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector