[linux] redirection типа tee
тебе нужны подобные утилитки? - смотри в мане see also
или в мане по башу(? может еще где) - что такое перенаправление ввода вывода и pipe, тотгда ты сам программу tee напишеь в пять минут
что такое see also?
посоветуй что-нибудь конкретнее, плиз
---
...Я работаю антинаучным аферистом...
да, это тоже смотрел. я уж обчитался про потоки. мож че не понял?
а почему, собственно, не сделали перенаправление на множество дескрипторов?
---
...Я работаю антинаучным аферистом...
почему не сделали, сделали, сам напиши, коль разобрался...
---
...Я работаю антинаучным аферистом...
как это тебя пайп не устраивает, когда tee их и использует...
а будет выводиться или нет - только от тебя зависит...
скажи точнее - чего ты хочешь от этотго всего, а лучше почитай Робачевского...
мож у меня взять, токма верни...
чувак, нифига не понял, что ты хочешь собственно? Чем не устраивает каждый из вариантов?
почему уверен, что сделали? если пользовался, то напиши как делать. буду благодарен
создаем пайп ( pipe[])
pipe[1] одному процессу на вывод, pipe[0] любому количеству процессов на вход...
если честноо, то не знаю, вроде должно работать..
для таких вещей естьь сокеты...
если хочешь наоборот - то вариантов слишком много, как этот будет обрабатываться...
Если давать по наследованию один поток на несколько процессов, то они не устроят гонки с получением потока по частям?
Сокеты, есть подозрение, так же.
Можно, кажется, грязно похакать, перебив LibC и переписав загрузочные скрипты.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
это же атомарные операции
помимо того, хочу, чтобы это было некриво
все свои варианты считаю достаточно кривыми...
ура-а-а-а! кто-то понял, чего я хочу!
Писатель: АБВГД...
Читатель 1-й: АБВГД...
Читатель 2-й: АБВГД...
По-моему, это ``tee''.
На уровне ядра, без хака, такое не делается.
(Особо извратные драйвера не берём.)
---
...Я работаю антинаучным аферистом...
чем вариант 1 кривой?
2) семафоры
3)сокеты
один процесс может передать многим, иначе нужна программа-сервер, что бы обрабатывать это так как надо тебе...
а tee как это делает по твоему?
скрипт должен знать сам
я считаю, что 1-й самый кривой...
sed 's/$/| tee log/' my-script.sh >my-script.sh.tmp ; mv my-script.sh.tmp my-script.sh
---
...Я работаю антинаучным аферистом...
Её вызов надо прописывать руками отдельно.
Всякий раз.
``tee'', сам понимаешь, открывает на вывод несколько потоков.
---
...Я работаю антинаучным аферистом...
надо что бы куча потоков могла передать одному в один канал? или один куче? и то и другое делаетьтся стандартным IPC
просто зачем нагружать систему лишними утилитами, когда этими можно сделать все...
пусть напишет свой вариант echo, что бы мог писать одновременно в файл и в stdout
как же он будет знать, если ты ему не говоришь?
Если б можно было сказать: "А теперь, всё пишущееся в stdout, пишем ещё и в log," --- отменив потом такое извращение, было бы здорово.
Только нет такого готового решения.
---
...Я работаю антинаучным аферистом...
во-вторых, я забочусь о простом изменении/добавлении
---
...Я работаю антинаучным аферистом...
а что нет - жаль!
зачем перегружать систему лишими проверками и вещами, которые решают лишь твои локальные проблемы, которые вообщем-то не проблемы...
мне-то все нравиться, а он похоже просто ленится написать где надо - tee
---
...Я работаю антинаучным аферистом...
заложу в него знание (см. 3-й вариант - он, м.б. самый лучший, только возни много, т.к. у меня свои параметры есть: конфликты всякие и т.п.)
Кому руки дадены?
---
...Я работаю антинаучным аферистом...
человек, вообще по жизни тварь ленивая
---
...Я работаю антинаучным аферистом...
от того такие вопросы...
если так, то это не то
---
...Я работаю антинаучным аферистом...
Сколько раз ты используешь, например, ``@'' или ``#''?
А ``@#''?
---
...Я работаю антинаучным аферистом...
я научиться большему хочу, пока пишу скрипт, многое понять...
если б так уж ленился - не читал бы маны по перенаправлению
почитай лучше по IPC что-нибудь и проо устройство системы, так быстрее поймешь...
'@#' не использую, но тогда уж проще под иксами через буфер повставлять
Очень нужные в деле вещи.
---
...Я работаю антинаучным аферистом...
---
...Я работаю антинаучным аферистом...
я читаю про них по мере необходимости
sed мне когда-то очень помог!
пусть лучше с азов начать, а-то "перенаправление" - это в басше так названо,
а в системе - IPC(сокеты, семафоры,сигналы, разд.память) вроде так...
---
...Я работаю антинаучным аферистом...
так нафига тогда сед? какая разница для буфера - вставлять большую строку или маленькую?
---
...Я работаю антинаучным аферистом...
вполне, еще на сокетах - если процессы не одной ветки....
Можно, конечно, макрос написать.
---
...Я работаю антинаучным аферистом...
Если б можно было сказать: "А теперь, всё пишущееся в stdout, пишем ещё и в log," --- отменив потом такое извращение, было бы здорово.Для этого придется переписать скрипт на perl
Как это что-то изменит?
---
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
В cookbook описан пример фильтрования STDOUT. Вкратце механизм заключается в том, что forkается ребёнок, вставляется в конвейер и затем фильтрует STDOUT. Удобный приём.
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги". ("Белое проклятие")
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
Тебе в ru.os.cmp.
Да, типа того. Я cookbook на работе оставил, сейчас не могу заглянуть.
imho, первый наименнее кривой. Запускается один раз tee. Если ты будешь из скрипта tee запускать, то ты его запустишь намного больше раз. На нагруженной машине это будет тормозить.
Чур меня, чур!
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги". ("Белое проклятие")
Прогноз погоды. Песня на сегодня: "Дождь над Иссык-Кулем сплошной пеленой..."
cat "test... test... test..." | perl -e '$?s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'.
Один из комментариев был следующий: "Это еще раз доказывает, что perl - отстой".
Как и всё остальное
Кроме microsoft vacuum cleaner.
Может быть проще в начале скрипта сделать функцию my_echo и не париться?
Оставить комментарий
a10063
можно ли организовать?начитался man & info, но там, вроде как, написано что редиректить можно только в один файл
а задача у меня вот в чем: написал башскрипт, который делает кучу эх, а теперь хочу, чтоб он все то, что выводил, еще и в лог заносил!
я придумал три варианта:
1) запускать так: ./script | tee log
2) поcле каждого эха: | tee log
3) запускать самого себя как в первом пункте с доп. параметром
варианты расположены в порядке наибольшего предпочтения
напишите, если знаете, про потоки в стиле tee или посоветуйте альтернативное решение (главное - чтоб править мало было и было некриво)