Переправление
Команда echo
это очень простая и в то же время часто используемая встроенная команда оболочки Bash.
echo опции строка
Короткий формат опции |
Описание |
---|---|
-n |
Не выводить перевод строки |
-e |
Включить поддержку вывода Escape последовательностей |
-E |
Отключить интерпретацию Escape последовательностей:
/c
удалить перевод строки
/t
горизонтальная табуляция
/v
вертикальная табуляция
/b
удалить предыдущий символ
/n
перевод строки
/r
символ возврата каретки в начало строки
|
Примеры работы
Сначала просто выведем строку на экран:
echo Linux Open Source Software Technologies
Также можно вывести значение переменной, сначала объявим переменную:
export VAR=losst
Затем выведем ее значение:
echo Наш сайт $VAR
Как уже говорилось, с помощью опции -e
можно включить интерпретацию специальных последовательностей. Последовательность \b
позволяет удалить предыдущий символ. Например, удалим все пробелы из строки:
echo -e "Linux \bopen \bsource \bsoftware \btechnologies"
Последовательность \n
переводит курсор на новую строку:
echo -e "Linux \nopen \nsource \nsoftware \ntechnologies"
С помощью \t
вы можете добавить горизонтальные табуляции:
echo -e "Linux \topen \tsource \tsoftware \ttechnologies"
Можно совместить переводы строки и табуляции:
echo -e "Linux \tnopen \tnsource \tnsoftware \tntechnologies"
Точно так же можно применить вертикальную табуляцию:
echo -e "Linux \vopen \vsource \vsoftware \vtechnologies"
С помощью последовательности \r
можно удалить все символы до начала строки:
echo -e "Linux \ropen source software technologies"
Последовательность -c
позволяет убрать перевод на новую строку в конце сообщения:
echo -e "Linux open source software technologies\c"
Вывод содержимого
С основными параметрами команды echo
разобрались, теперь рассмотрим еще некоторые специальные символы bash
. Вы можете вывести содержимое текущей папки просто подставив символ *
:
echo *
Также можно вывести файлы определенного расширения:
echo *.mkv
Редактирование конфигурационных файлов
echo
можно использовать для редактирования конфигурационных файлов. Вы можете использовать запись echo
в файл linux >
, если он пуст:
echo текст_который_нужно_добавить > /proc/sys/net/ipv4/ip_forward
Если файл не пуст, и вам необходимо добавить свою строчку в конец файла используйте символ перенаправления вывода >>
:
echo текст_который_нужно_добавить > /proc/sys/net/ipv4/ip_forward
Если строка содержит какие-либо специальные символы или может быть понята интерпретатором неоднозначно, следует заключить ее в кавычки:
echo "UUID=09ec0871-2f55-4dd5-aeb2-cacc4a67907c /var/tmp btrfs subvol=@/var/tmp 0 0" >> /etc/fstab