<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Объединение команд в shell]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=10483&amp;type=atom" />
	<updated>2011-02-02T06:13:40Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=10483</id>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=139686#p139686" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Я до вторых скобок не додумался.</p></blockquote></div><p>ну я думал ты знаешь про ( command &amp; ). Просто внутри скриптов &amp; не работает, и приходится запускать из баша другой баш, а у же в этом втором баше &amp; срабатывает как надо.</p></blockquote></div><p>Я изучал юникс (скотинку) лет 15 назад на краткосрочных 2х-недельных курсах. Но, с тех пор моя работа была хоть и рядом с ним, но непосредственно к &quot;станку&quot; мне подходить нужды не было. Так что, часть знаний из башки с годами выветрилась. </p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>в принципе так можно с любым файлом сделать, я думал, что этот вариант принципиально не годится.</p></blockquote></div><p>А чем STDOUT отличается от любого файла? Только тем, что он открывается процессу по дефолту всегда, а иные файлы надо открывать явно?</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2011-02-02T06:13:40Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=139686#p139686</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=139429#p139429" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Я до вторых скобок не додумался.</p></blockquote></div><p>ну я думал ты знаешь про ( command &amp; ). Просто внутри скриптов &amp; не работает, и приходится запускать из баша другой баш, а у же в этом втором баше &amp; срабатывает как надо.&nbsp; &nbsp; &nbsp; &nbsp;</p><div class="quotebox"><blockquote><p>(list) list&nbsp; is&nbsp; executed&nbsp; in&nbsp; a&nbsp; subshell environment (see COMMAND EXECUTION ENVIRONMENT below).&nbsp; Variable<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assignments and builtin commands that affect the shell&#039;s environment do not remain in&nbsp; effect&nbsp; after<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the command completes.&nbsp; The return status is the exit status of list.</p></blockquote></div><p>Вот про вторые скобки я и писал в первый раз в конструкции ( ls ; ls ).</p><div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>А <span style="color: red"><strong>[CENSORED]</strong></span> не получается - ты читаешь одно и тоже два раза. Если читать из разных файлов - всё намано.</p></blockquote></div><p>а, ну да. ты прав.<br /></p><div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Кусочек инициализирующего&nbsp; скрипта для съема информации с двух интерфейсов и заведения этой информации в анализатор приведен ниже</p></blockquote></div><p>в принципе так можно с любым файлом сделать, я думал, что этот вариант принципиально не годится.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-02-01T12:48:44Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=139429#p139429</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=139396#p139396" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ ( ( tail -f .bashrc &amp; ) ; ( tail -f .bashrc &amp; ) ) | grep &quot;XYZ&quot; &amp;<br /></div></p></blockquote></div><p>Я до вторых скобок не додумался. А <span style="color: red"><strong>[CENSORED]</strong></span> не получается - ты читаешь одно и тоже два раза. Если читать из разных файлов - всё намано.</p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>так много из-за экспериментов, я, честно говоря, смутно помню этот хак. <br />Кстати, вежливые вы мои, где ваше решение с FIFO?</p></blockquote></div><p>Кусочек инициализирующего&nbsp; скрипта для съема информации с двух интерфейсов и заведения этой информации в анализатор приведен ниже<br /></p><div class="codebox"><pre><code>fifo=/dev/shm/p0f-fifo 
/usr/bin/mkfifo $fifo 
/usr/sbin/p0f -i eth0 -l &#039;tcp dst port 25&#039; &gt;$fifo 2&gt;&amp;1 &amp; 
/usr/sbin/p0f -i eth1 -l &#039;tcp dst port 25&#039; &gt;$fifo 2&gt;&amp;1 &amp; 
cat &lt; $fifo | /usr/local/sbin/p0f-analyzer.pl 2345 &amp;  </code></pre></div><p>Здесь пара процессов пишут в fifo, которое раположено в ram, а один процесс постоянно её (точнее - по запросу от службы антиспамовской защиты) оттуда вычитывает. Если бы был один интерфейс, то решение тривиальное, как в инструкции сказано: <em>p0f | p0f-alalizer.pl &amp; </em>.&nbsp; А вот на два интерфейса - я затормозил.</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2011-02-01T11:18:30Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=139396#p139396</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=139370#p139370" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>это не проблема.<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ ( ls; ls ) &gt;/dev/null</div></p></blockquote></div><p>Как раз проблема. А именно - с командами типа ls и иже с ними проблемы нет. Эти команды исполяемы за конечное время. И вторая команда начинается по завершении первой. Здесь нет вообще проблем. <br />А вот предлагаю таким же способом анализировать одновременно два сетевых интерфейса программкой tcpdump. Повесь на каждый по бесконечному tcpdump&#039;у. А стандартный вывод этого направь в какой либо grep для выявления нужной сигнатуры. Вперед. До полного просветления. Если это сделаешь без FIFO, а так, как здесь предлагаешь, скобочками да &quot;;&quot; - расскажи, как сумел.</p></blockquote></div><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ ( ( tail -f .bashrc &amp; ) ; ( tail -f .bashrc &amp; ) ) | grep &quot;XYZ&quot; &amp;<br />[6] 11239<br />ksu@ksu:~$ echo &quot;XYZ&quot; &gt;&gt; .bashrc <br />ksu@ksu:~$ XYZ<br />XYZ<br />XYZ<br />XYZ<br />XYZ<br />XYZ<br />XYZ<br />XYZ<br />XYZ<br /></div><br />так много из-за экспериментов, я, честно говоря, смутно помню этот хак. <br />Кстати, вежливые вы мои, где ваше решение с FIFO?</p><p>PS: хотя да, фигня получается. лень думать и вспоминать, как именно я это делал. но проблемы тут особой действительно нет, фокус в том, что можно запустить в субшеле команду в интерактивном режиме. Другое дело, что необходимость в этом возникает очень редко (лишь в очень сложных скриптах, когда начинаешь задумываться, &quot;может ну его, написать на С и не заморачиваться?&quot;).</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-02-01T09:42:31Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=139370#p139370</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138763#p138763" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>это не проблема.<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ ( ls; ls ) &gt;/dev/null</div></p></blockquote></div><p>Как раз проблема. А именно - с командами типа ls и иже с ними проблемы нет. Эти команды исполяемы за конечное время. И вторая команда начинается по завершении первой. Здесь нет вообще проблем. <br />А вот предлагаю таким же способом анализировать одновременно два сетевых интерфейса программкой tcpdump. Повесь на каждый по бесконечному tcpdump&#039;у. А стандартный вывод этого направь в какой либо grep для выявления нужной сигнатуры. Вперед. До полного просветления. Если это сделаешь без FIFO, а так, как здесь предлагаешь, скобочками да &quot;;&quot; - расскажи, как сумел.</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2011-01-30T20:00:27Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138763#p138763</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138531#p138531" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Спасибо, тема закрыта. Действительно, затупил и про FIFO забыл начисто.</p></blockquote></div><p>вот уж затупил так затупил - <strong>FIFO тут не при чём!!!</strong><br />сами тупите, и других путаете&nbsp; <img src="https://linuxforum.ru/img/smilies/ah.gif" alt="ah" /> </p><p>лично вам, <strong>Cruiser78</strong>, читать до полного просветления:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>FIFO(7)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Linux Programmer&#039;s Manual&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIFO(7)</p><p>NAME<br />&nbsp; &nbsp; &nbsp; &nbsp;fifo - first-in first-out special file, named pipe</p><p>DESCRIPTION<br />&nbsp; &nbsp; &nbsp; &nbsp;A&nbsp; FIFO&nbsp; special&nbsp; file&nbsp; (a named pipe) is similar to a pipe, except that it is accessed as part of the file<br />&nbsp; &nbsp; &nbsp; &nbsp;system.&nbsp; It can be opened by multiple processes for reading or writing.&nbsp; When processes are exchanging data<br />&nbsp; &nbsp; &nbsp; &nbsp;via&nbsp; the FIFO, the kernel passes all data internally without writing it to the file system.&nbsp; Thus, the FIFO<br />&nbsp; &nbsp; &nbsp; &nbsp;special file has no contents on the file system; the file system entry merely serves as a&nbsp; reference&nbsp; point<br />&nbsp; &nbsp; &nbsp; &nbsp;so that processes can access the pipe using a name in the file system.</p><p>&nbsp; &nbsp; &nbsp; &nbsp;The&nbsp; kernel&nbsp; maintains&nbsp; exactly&nbsp; one&nbsp; pipe object for each FIFO special file that is opened by at least one<br />&nbsp; &nbsp; &nbsp; &nbsp;process.&nbsp; The FIFO must be opened on both ends (reading and writing) before data can be passed.&nbsp; &nbsp;Normally,<br />&nbsp; &nbsp; &nbsp; &nbsp;opening the FIFO blocks until the other end is opened also.</p><p>&nbsp; &nbsp; &nbsp; &nbsp;A&nbsp; process&nbsp; can open a FIFO in non-blocking mode.&nbsp; In this case, opening for read only will succeed even if<br />&nbsp; &nbsp; &nbsp; &nbsp;no-one has opened on the write side yet, opening for write only will fail with ENXIO&nbsp; (no&nbsp; such&nbsp; device&nbsp; or<br />&nbsp; &nbsp; &nbsp; &nbsp;address) unless the other end has already been opened.</p><p>&nbsp; &nbsp; &nbsp; &nbsp;Under&nbsp; Linux, opening a FIFO for read and write will succeed both in blocking and non-blocking mode.&nbsp; POSIX<br />&nbsp; &nbsp; &nbsp; &nbsp;leaves this behavior undefined.&nbsp; This can be used to open a FIFO for writing while&nbsp; there&nbsp; are&nbsp; no&nbsp; readers<br />&nbsp; &nbsp; &nbsp; &nbsp;available.&nbsp; &nbsp;A&nbsp; process that uses both ends of the connection in order to communicate with itself should be<br />&nbsp; &nbsp; &nbsp; &nbsp;very careful to avoid deadlocks.</p><p>NOTES<br />&nbsp; &nbsp; &nbsp; &nbsp;When a process tries to write to a FIFO that is not opened for read on the other side, the process is&nbsp; sent<br />&nbsp; &nbsp; &nbsp; &nbsp;a SIGPIPE signal.</p><p>&nbsp; &nbsp; &nbsp; &nbsp;FIFO special files can be created by mkfifo(3), and are indicated by ls -l with the file type &#039;p&#039;.</p><p>SEE ALSO<br />&nbsp; &nbsp; &nbsp; &nbsp;mkfifo(1), open(2), pipe(2), sigaction(2), signal(2), socketpair(2), mkfifo(3), pipe(7)</p><p>COLOPHON<br />&nbsp; &nbsp; &nbsp; &nbsp;This page is part of release 3.15 of the Linux man-pages project.&nbsp; A description of the project, and infor-<br />&nbsp; &nbsp; &nbsp; &nbsp;mation about reporting bugs, can be found at <a href="http://www.kernel.org/doc/man-pages/">http://www.kernel.org/doc/man-pages/</a>.</p><p>Linux&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2008-12-03&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIFO(7)</p></div></div><p>остальным замечу, что невозможно объединить объединённое - поток /dev/stdout уже и так один. Просто здесь нужно перенаправить поток от двух команд в другое место. Это решается многими способами, самый простой из которых - запустить команды в отдельном дочернем шелле, и перенаправить вывод не от команд, а от всего этого шелла. Я просто записал две команды в (скобках).</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-01-30T10:14:21Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138531#p138531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138524#p138524" />
			<content type="html"><![CDATA[<p>для гурманов:</p><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ ( ls; ls ) | ls</div></p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-01-30T09:52:00Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138524#p138524</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138523#p138523" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Чтобы из прочитать - телепатом быть не надо.</p></blockquote></div><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ p0f<br />bash: p0f: command not found<br /></div><br /></p><div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Проблема - объединить стандартный вывод некольких процессов (неважно каких) и загнать это объединение на стандартный вход третьего процесса, анализатора. Решается через FIFO на раз.</p></blockquote></div><p>это не проблема.<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">$ ( ls; ls ) &gt;/dev/null</div></p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-01-30T09:50:59Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138523#p138523</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138478#p138478" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>что за команды-то? где ссылка на руководство к ним? телепаты в отпуске.</p></blockquote></div><p>Ну, все команды были приведены в топикстартовом спиче. Чтобы из прочитать - телепатом быть не надо.<br />Проблема - объединить стандартный вывод некольких процессов (неважно каких) и загнать это объединение на стандартный вход третьего процесса, анализатора. Решается через FIFO на раз.</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2011-01-30T08:38:46Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138478#p138478</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138450#p138450" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>Собственно это один из антиспамовских модулей на почтовом сервере - интегрирую p0f и amavis-new.<br />В руководстве сказано - делай &quot;p0f -i eth0 bla-bla-bla | p0f-analyzer.pl 2345 &amp;&quot; и радуйся.</p></blockquote></div><p>в данном случае команда p0f генерирует некий поток информации, который через пайп (читать про pipe) отправляется на вход перлового скрипта p0f-analyzer.pl<br />при этом команда завершается на ампресанд (&amp;), потому она выполняется в фоновом режиме.<br /></p><div class="quotebox"><cite>Cruiser78 пишет:</cite><blockquote><p>А вот как команду написать - не соображу.</p></blockquote></div><p>что за команды-то? где ссылка на руководство к ним? телепаты в отпуске.</p>]]></content>
			<author>
				<name><![CDATA[drBatty]]></name>
				<uri>https://linuxforum.ru/profile.php?id=86</uri>
			</author>
			<updated>2011-01-30T07:21:47Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138450#p138450</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138433#p138433" />
			<content type="html"><![CDATA[<p>Как-то так<br />p0f -i eth0 &gt;&gt; file &amp;<br />p0f -i eth1 &gt;&gt; file &amp;<br />tail -f file |&nbsp; p0f-analyzer.pl &amp;<br />но , думается мне, что через fifo будет правильнее <a href="http://www.linuxquestions.org/questions/programming-9/bash-input-output-redirect-problem-515156/">http://www.linuxquestions.org/questions … em-515156/</a></p>]]></content>
			<author>
				<name><![CDATA[Macumazan]]></name>
				<uri>https://linuxforum.ru/profile.php?id=952</uri>
			</author>
			<updated>2011-01-29T23:21:49Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138433#p138433</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Объединение команд в shell]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=138419#p138419" />
			<content type="html"><![CDATA[<p>Что то я туплю сегодня.</p><p>Постановка задачи: сервер с двумя сетевыми интерфейсами (eth0 и eth1). Надо слушать оба эти интерфейса и наравлять услышанное в программу анализатор. Собственно это один из антиспамовских модулей на почтовом сервере - интегрирую p0f и amavis-new.<br />В руководстве сказано - делай &quot;<em>p0f -i eth0 bla-bla-bla | p0f-analyzer.pl 2345 &amp;</em>&quot; и радуйся. <br />А интерфейса - два. Поэтому радости не испытываю. Анализатор-то должен быть один. Как сконструировать команду, чтобы p0f сел на 2 интерфейса - не понимаю. Конструкция вида &quot;<em>(p0f -i eth0 &amp; ; p0f -i eth1) | p0f-analyzer.pl 2345 &amp;</em>&quot; не проходит. Шелл ругается на ошибку вблизи &quot;;&quot;... Причем влияет на это дело &quot;&amp;&quot; перед &quot;;&quot;.&nbsp; <br />Есть выход - замутить более сложную маршрутизацию и подвести трафик с одного интерфейса, но здесь много проблем...<br />А вот как команду написать - не соображу. Не соображу, как первую команду запустить демоном, а весь её выходной поток, вместе с выходом второй команды направить в анализатор.<br />=================================<br />Спасибо, тема закрыта. Действительно, затупил и про FIFO забыл начисто.</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2011-01-29T21:43:25Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=138419#p138419</id>
		</entry>
</feed>
