TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #154 7.58K
Операторы перенаправления ввода-вывода [2]

В некоторых случаях полезно перенаправить стандартный ввод STDIN, чтобы он поступал из файла, а не с клавиатуры. Выполнить данную задачу мы можем, используя оператор '<'.

Например, команда tr принимает данные от пользователя (через клавиатуру), чтобы выполнить преобразование всех символов нижнего регистра в верхний:


$ tr 'a-z' 'A-Z'
hello
HELLO


Команда не получает файл в качестве аргумента. Чтобы все-таки скормить ей статический поток данных, можно использовать то самое перенаправление STDIN:


$ cat animals.txt
1 retriever
2 badger

$ tr 'a-z' 'A-Z' < animals.txt
1 RETRIEVER
2 BADGER


Оператор '<<' heredoc

Оператор '<<' дает возможность перенаправлять многострочный поток данных (массив строк) на вход программе:


$ cat << EOF
> Сurrent user: $(whoami)
> Status: sysadmin
> EOF
Сurrent user: parallels
Status: sysadmin


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

Как работает "heredoc"

После оператора указывается метка (произвольное слово), которая обозначает начало и конец текста.

Все строки между метками считаются входными данными для команды. Когда оболочка повторно встречает слово, которое шло сразу за '<<', ввод завершается:


$ cat << EOF > config.conf
[settings]
host=localhost
port=8080
debug=true
EOF


В примере выше мы отправили команде cat на вход (STDIN) массив строк, вывод (STDOUT) которых перенаправили в конфиг.

Еще одним полезным примером может быть передача SQL-запросов в БД через ручной ввод:


$ mysql -u root -p << EOF
CREATE DATABASE my_database;
USE my_database;
...
EOF


LinuxCamp
  • 🔥 37
  • 👍 17
  • ❤‍🔥 3
  • ❤ 1
More from @linuxcamp_tg
  1. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  2. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  3. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  4. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  5. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
  6. Sep 17, 2026Открыл плейлист, а как выйти - непонятно 😁 LinuxCamp | #memes
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →