🔍 Ah, the cryptic "2>&1"—an enigma wrapped in a riddle and served with a side of Stack Overflow jargon salad! 🥗 Apparently, the answer to #piping #stderr to #stdout involves a detour through a smorgasbord of corporate buzzwords and beta testing invites. 🤦‍♂️ Who knew redirecting output could be such a journey? 🚀
https://stackoverflow.com/questions/818255/what-does-21-mean #StackOverflow #techjargon #corporatebuzzwords #codinghumor #HackerNews #ngated
What does " 2>&1 " mean?

To combine stderr and stdout into the stdout stream, we append this to a command: 2>&1 For example, the following command shows the first few errors from compiling main.cpp: g++ main.cpp 2&...

Stack Overflow

Umleitungen – Ausgabe- und Eingabekanäle in der Bash-Shell umleiten

Als Systemadministrator leitest du täglich Ausgaben von Befehlen um, um Logs zu sichern, Fehler zu isolieren oder Skripte zu automatisieren. Umleitungen helfen dir, stdout und stderr gezielt in Dateien zu schreiben, ohne dass der Bildschirm überflutet wird. Sie sind essenziell für effiziente Troubleshooting und Script-Entwicklung in jeder Linux-Umgebung. Standardausgabe umleiten Die Standardausgabe (stdout, Dateideskriptor 1) leitest du mit dem Operator > in eine Datei um. Die Shell […]

https://andreas-moor.de/umleitungen-ausgabe-und-eingabekanaele-in-der-bash-shell-umleiten/

stdin, stdout und stderr –Standarddatenströme von Linux-Prozessen

Wenn du mit der Bash-Shell interagierst brauchst du ein solides Vertändnis von stdin, stdout und stderr, sie bilden die Standardein- und Ausgaben auf Linux-Systemen. An sich ist jede art von Programm dafür gedacht Daten zu empfangen diese auf spezifische Art und Weise zu verarbeiten und nach der Verarbeitung auszugeben. Das lenken der Datenflüsse kann genau mit diesem Verständnis bewusst tun. Was ist stdin? stdin steht für Standard Input und repräsentiert den Eingabestrom eines jeden […]

https://andreas-moor.de/stdin-stdout-und-stderr-standarddatenstrome-von-linux-prozessen/

Файловые дескрипторы 0, 1, 2: полное руководство по работе с потоками

Привет, Хабр! Конструкции вроде 2>&1 и &> встречаются повсюду — в мануалах, скриптах, инструкциях. Их используют постоянно, но редко понимают до конца. Почему ошибки продолжают появляться в терминале, хотя, казалось бы, должны уходить в файл? Почему конвейер передаёт только часть вывода? В статье разберём всё от базового синтаксиса до работы с tee и /dev/null - каждая часть будет разобрана и показана на практических примерах.

https://habr.com/ru/articles/960564/

#linux #stdin #stdout #stderr #bash #tee

Файловые дескрипторы 0, 1, 2: полное руководство по работе с потоками

Привет, Хабр! Конструкции вроде  2>&1  и  &>  встречаются повсюду - в мануалах, скриптах, инструкциях. Их используют постоянно, но редко понимают до конца. Почему...

Хабр

Found an issue and fixed it. Turns out destroying my #Process instance when the child exited was wrong, there could still be unread data in the #pipe. But then, only waiting for #EOF on the pipe was equally wrong ...

Now the code does the only reliable thing:

* When the child terminated, close the pipe for stdin immediately if one was present
* Only destroy the process instance once the child terminated AND the pipes for #stdout and #stderr (IF they were present) found EOF.

Committed now:
https://github.com/Zirias/poser/commit/18051d9da0ba7e4caf2882828e5706e35d419f94

And here are the docs:
https://zirias.github.io/poser/api/latest/class_p_s_c___process.html

My testing code also had to change a bit and now makes for a completely pointless and cute wrapper around /bin/ls 🙈 😂

#C #coding

Process: Run and control a child process · Zirias/poser@18051d9

POsix SERvices framework for C. Contribute to Zirias/poser development by creating an account on GitHub.

GitHub

@b0rk

has a neat way to demonstrate; 2&>1

this has always been a tricky thing to explain to folks new to the shell

#shell
#stderr
#stdout
#pipes
#redirects

Надоело просто добавлять запись в log-файл. Что еще можно сделать с помощью syslog-ng в Astra Linux SE?

Всем привет! Меня зовут Михаил, и в своей предыдущей статье я кратко осветил цепочку прохождения логов в ОС Astra Linux SE. Продолжаем! Любой человек, который регулярно сталкивается с темой логирования, рано или поздно задаётся вопросом: «А что ещё можно сделать с логами, помимо простого добавления записей в некоторый файл?» Поэтому сейчас поговорим о таком мощном инструменте обработки логов, как syslog-ng . Читать

https://habr.com/ru/companies/astralinux/articles/845936/

#логирование #syslogng #astralinux #linux #макросы #stdout #bashскрипт #парсер #субд #python

Надоело просто добавлять запись в log-файл. Что еще можно сделать с помощью syslog-ng в Astra Linux SE?

Syslog-ng в Astra Linux Special Edition Всем привет! Меня зовут Михаил, и в своей  предыдущей статье  я кратко осветил цепочку прохождения логов в нашей ОС Astra Linux SE. Продолжаем! Любой...

Хабр

@rk @cks

I was going to ask how many system calls it was making. If the Go runtime library is choosing no buffering when the standard output is the null device, that could be a lot of syscalls, compared to full buffering.

How is the Go runtime library deciding what buffering policy to use for standard streams? Is it even using buffers for standard streams? Does it vary that decision for character and TTY devices?

#go #stdout #bufio

Зазвичай друга програма кожного програміста який починає вивчати мову програмування це hello {name}.

Спочатку треба трохи розʼяснити про ghc, ghci і функцію main.

  • ghc - це компілятор мови програмування Haskell.

  • ghci - це інтерпретатор мови програмування.

  • функція main - це головна функція яка автоматично викликається при запуску бінарного файлу зібраного за допомогою ghc. Вона не обовʼязкова для запуску в режимі інтерпретації.

  • У функціональних мовах, до яких належить Haskell, немає змінних. Є тільки функції та константи. Константа це функція яка повертає завжди одне значення не залежачи від жодних обставин.

  • Всі файли з джерельним кодом називаються модулями. Є спеціальне оголошення модулів, але про це пізніше.

  • Також є різниця між написанням коду в файлі й виконанням в інтерактивному режимі інтерпретатора. В інтерпретаторі ми можемо виконати будь-яку інструкцію, наприклад putStrLn "Hi!", а в модулі ні. У модулі можна тільки створювати функції.

  • Однорядкові коментарі починаються з двох мінусів -- Comment.

Тепер перейдемо до нашої програми. У єдиній попередній нашій функції в нас була одна команда. Виклик функції putStrLn з передаванням аргументу. Тепер нам потрібно вписати кілька команд, і щоб це зробити потрібно використати ключове слово do. Після нього можна вписати кілька команд розділені ;, або новим рядком. Але кожний новий рядок повинен починатися з певного відступу. Відступ може бути або пробілом, або табуляцією. Кількість символів може бути різною, але кожний наступний рядок повинен мати, або ту ж кількість пробілів, або більше. Якщо буде менше, то це вважатиметься новим оголошенням. Також один символ табуляції буде розглядатись як вісім пробілів, не залежно від налаштувань редактора.

main = do putStr "Введіть ваше ім'я: " -- Вивід тексту в stdout name <- getLine -- зчитування з клавіатури одного рядка з stdin putStrLn ("Привіт, " ++ name ++ "!") -- Вивід привітання в stdout

Оператор ++ обʼєднує рядки в один. У інших мовах для цього використовується оператор, який складається з одного символу +.

Все було б добре, якби не одна проблема. Коли ми запустимо цю програму, то отримаємо не зовсім очікуваний результат.

Мертвий Демон Введіть ваше ім'я: Привіт, Мертвий Демон!

Ця програма спочатку буде очікувати на ввід, а потім виведе на екран весь текст. Це відбувається через буферизацію. Вивід відбувається при вписуванні символу нового рядка. Але ми можемо змусити його вивести тоді коли нам це потрібно. Ця функція називається flush. У Haskell вона знаходиться у модулі System.IO, який нам потрібно імпортувати.

import System.IO main = do putStr "Введіть ваше ім'я: " hFlush stdout name <- getLine putStrLn ("Привіт, " ++ name ++ "!")

Ця програма буде працювати вірно.

#haskell #hello-name #programing #програмування #друга #програма #stdout #stdin #функції #вивід #ввід #екран #клавіатура #зчитування #flush

Social.Net.Ua

The best tool to debug the outputs (#stdout, #stderr) is so far the #lolcat https://github.com/busyloop/lolcat

I needed to debug a broken function https://github.com/Felixoid/dotfiles/blob/06fed7e8bc2b42c552182866961342f13dbd35cc/config/shells/rc#L91, and it's a bit messy to get the output together with `set -x` [1]. So lolcat improves it significantly [2].

Sure, I need both of them, but w/o lolcat I am not even sure, what to use ¯\_(ツ)_/¯

GitHub - busyloop/lolcat: Rainbows and unicorns!

Rainbows and unicorns! Contribute to busyloop/lolcat development by creating an account on GitHub.

GitHub