linux echo запись в файл

Как добавить строку в конец файла linux через командную строку ?

1 ответ

В консоли Linux записать строку в файл.

Для добавления строк в конец файла воспользоваться командай echo и знаком >> для перенаправления вывода в файл:

Другой пример bash добавления строки «nameserver 8.8.8.8» в файл /etc/resolf.conf:

Если же у вас не хватает прав для записи в файл:

-bash: /etc/resolv.conf: Permission denied

То можно выполнить запись строки в файл под sudo (root) с помощью команды sudo sh -c :

Если вы хотите добавлять строку в файл не на bash, а на php, то как это сделать можно прочитать здесь.

Очень часто нужно записать вывод команд в текстовой файл. Вам нужны команды вывода текста (cat, touch) и соответствующие знаки >> или >. Есть статья про объединение команд как объединить команды BASH. Вам нужно просто сделать некий вывод и записать текст в файл. Для начала сделайте вывод текста в консоли, а потом постарайтесь записать в файл при помощи знака >> (в конец строки) или > (перезапись). Вы можете записывать каждую строку в файл. Подобный способ хорош в том случае если в скрипте мало команд. Если команд много, то лучше использовать специальную конструкцию <блок кода>> file.txt. Внутри конструкции может быть сложный код и большое количество строк.

Теперь неудачный пример! Обратите внимание на то, что знак >> повторяется 3 раза.

Команда echo — это очень простая и в то же время часто используемая встроенная команда оболочки Bash. Она имеет только одно назначение — выводить строку текста в терминал, но применяется очень часто в различных скриптах, программах, и даже для редактирования конфигурационных файлов.

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

Команда echo linux

Команда echo — это не системная утилита, у нее нет исполняемого файла. Она существует только внутри интерпретатора Bash. Синтаксис команды echo linux очень прост:

$ echo опции строка

Опций всего несколько, давайте рассмотрим их, чтобы вы могли лучше ориентироваться в работе утилиты:

  • -n — не выводить перевод строки;
  • -e — включить поддержку вывода Escape последовательностей;
  • -E — отключить интерпретацию Escape последовательностей.

Это все опции, если включена опция -e, то вы можете использовать такие Escape последовательности для вставки специальных символов:

  • /c — удалить перевод строки;
  • /t — горизонтальная табуляция;
  • /v — вертикальная табуляция;
  • /b — удалить предыдущий символ;
  • /n — перевод строки;
  • /r — символ возврата каретки в начало строки.

Пожалуй, это все, что нужно знать о команде echo, а теперь давайте рассмотрим как с ней работать.

Примеры работы echo

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

echo Linux Open Source Software Technologies

Также можно вывести значение переменной. Сначала объявим переменную:

Затем выведем ее значение:

echo Наш сайт $VAR

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

echo -e «Linux open source software technologies»

Последовательность
переводит курсор на новую строку:

echo -e «Linux
open
source
software
technologies»

С помощью вы можете добавить горизонтальные табуляции:

echo -e «Linux open source software technologies»

Можно совместить переводы строки и табуляции:

echo -e «Linux nopen nsource nsoftware ntechnologies»

Точно так же можно применить вертикальную табуляцию:

echo -e «Linux vopen vsource vsoftware vtechnologies»

С помощью последовательности
можно удалить все символы до начала строки:

echo -e «Linux
open source software technologies»

Последовательность -c позволяет убрать перевод на новую строку в конце сообщения:

echo -e «Linux open source software technologiesc»

Дальше — больше. Вы можете разукрасить вывод echo с помощью последовательностей управления цветом Bash. Для доступны такие цвета текста:

  • 33[30m — чёрный;
  • 33[31m — красный;
  • 33[32m — зелёный;
  • 33[33m — желтый;
  • 33[34m — синий;
  • 33[35m — фиолетовый;
  • 33[36m — голубой;
  • 33[37m — серый.

И такие цвета фона:

  • 33[40m — чёрный;
  • 33[41m — красный;
  • 33[42m — зелёный;
  • 33[43m — желтый;
  • 33[44m — синий;
  • 33[45m — фиолетовый;
  • 33[46m — голубой;
  • 33[47m — серый;
  • 33[0m — сбросить все до значений по умолчанию.

Например. раскрасим нашу надпись в разные цвета:

echo -e «33[35mLinux 33[34mopen 33[32msource 33[33msoftware 33[31mtechnologies33[0m»

С основными параметрами команды echo разобрались, теперь рассмотрим еще некоторые специальные символы bash. Вы можете вывести содержимое текущей папки просто подставив символ *:

Также можно вывести файлы определенного расширения:

Я уже говорил, что echo можно использовать для редактирования конфигурационных файлов. Вы можете использовать запись echo в файл linux, если он пуст:

echo 1 > /proc/sys/net/ipv4/ip_forward

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

echo «UU >> /etc/fstab

Если строка содержит какие-либо специальные символы или может быть понята интерпретатором неоднозначно, следует заключить ее в кавычки.

Выводы

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

Оцените статью
SoftLast
Добавить комментарий