<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://178.140.10.58:8080/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://178.140.10.58:8080/feed.php">
        <title>Библиотека знаний - system:shell:bash</title>
        <description>Заметки IT программиста</description>
        <link>http://178.140.10.58:8080/</link>
        <image rdf:resource="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-17T10:51:18+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=system:shell:bash:%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Библиотека знаний</title>
        <link>http://178.140.10.58:8080/</link>
        <url>http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=system:shell:bash:%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0">
        <dc:format>text/html</dc:format>
        <dc:date>2015-10-29T01:05:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Перенаправление стандартных потоков ввода вывода</title>
        <link>http://178.140.10.58:8080/doku.php?id=system:shell:bash:%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B0</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:bash&amp;amp;do=showtag&amp;amp;tag=bash&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:bash&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; bash&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:pipe&amp;amp;do=showtag&amp;amp;tag=pipe&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:pipe&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; pipe&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:linux&amp;amp;do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; linux&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:pipe&amp;amp;do=showtag&amp;amp;tag=pipe&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:pipe&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; pipe&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h2 class=&quot;sectionedit1&quot; id=&quot;перенаправление_стандартных_потоков_ввода_вывода&quot;&gt;Перенаправление стандартных потоков ввода вывода&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Перенаправление обычно осуществляется вставкой специального символа &lt;code&gt;&amp;#039;&amp;gt;&lt;/code&gt;&amp;#039; между командами. Обычно синтаксис выглядит так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда1 &amp;gt; файл1&lt;/pre&gt;

&lt;p&gt;
выполняет команду1, помещая стандартный вывод в файл1.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда1 &amp;lt; файл1&lt;/pre&gt;

&lt;p&gt;
выполняет команду1, используя в качестве источника ввода файл1 (вместо клавиатуры).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда1 &amp;lt; файл1 &amp;gt; файл2&lt;/pre&gt;

&lt;p&gt;
совмещает два предыдущих варианта. Выполняет команду1 вводя из файла1 и выводя в файл2
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0432\u0432\u043e\u0434\u0430 \u0432\u044b\u0432\u043e\u0434\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445_\u043f\u043e\u0442\u043e\u043a\u043e\u0432_\u0432\u0432\u043e\u0434\u0430_\u0432\u044b\u0432\u043e\u0434\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;31-922&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;конвейеры&quot;&gt;Конвейеры&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;code&gt;Конвейеры&lt;/code&gt;— это возможность нескольких программ работать совместно, когда выход одной программы непосредственно идет на вход другой без использования промежуточных временных файлов. Синтаксис:
&lt;/p&gt;

&lt;p&gt;
команда1 | команда2
&lt;/p&gt;

&lt;p&gt;
Выполняет команду1 используя её поток вывода как поток ввода при выполнении команды2, что равносильно использованию двух перенаправлений и временного файла:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда1 &amp;gt; ВременныйФайл
команда2 &amp;lt; ВременныйФайл
rm ВременныйФайл&lt;/pre&gt;

&lt;p&gt;
Хороший пример командных конвейеров — это объединение echo с другой командой для получения интерактивности в неинтерактивных средах, к примеру:
&lt;/p&gt;

&lt;p&gt;
echo -e &amp;quot;ИмяПользователя\nПароль&amp;quot; | ftp localhost
&lt;/p&gt;

&lt;p&gt;
Здесь запускается &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shell:ftp&quot; class=&quot;wikilink2&quot; title=&quot;system:shell:ftp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:shell:ftp&quot;&gt;ftp&lt;/a&gt; клиент, который подключается к localhost под именем ИмяПользователя, нажимает Enter и затем вводит пароль Пароль.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;923-2383&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;перенаправление_в_из_стандартных_файловых_дескрипторов&quot;&gt;Перенаправление в/из стандартных файловых дескрипторов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В командной оболочке UNIX, произошедшей из Bourne shell, предыдущие два действия можно усовершенствовать, указав номер(файловый дескриптор) непосредственно перед символом перенаправления. Этот номер указывает какой именно поток используется для перенаправления. В UNIX существуют следующие стандартные потоки ввода/вывода:
&lt;/p&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;div class=&quot;table sectionedit4&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt;Дескриптор &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt;Название &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt;Описание &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;0 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;&lt;a href=&quot;http://ru.wikipedia.org/wiki/Stdin&quot; class=&quot;urlextern&quot; title=&quot;http://ru.wikipedia.org/wiki/Stdin&quot; rel=&quot;ugc nofollow&quot;&gt;stdin&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Стандартный ввод &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;1 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;&lt;a href=&quot;http://ru.wikipedia.org/wiki/Stdout&quot; class=&quot;urlextern&quot; title=&quot;http://ru.wikipedia.org/wiki/Stdout&quot; rel=&quot;ugc nofollow&quot;&gt;stdout&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Стандартный вывод &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;2 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;&lt;a href=&quot;http://ru.wikipedia.org/wiki/Stderr&quot; class=&quot;urlextern&quot; title=&quot;http://ru.wikipedia.org/wiki/Stderr&quot; rel=&quot;ugc nofollow&quot;&gt;stderr&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Стандартный вывод ошибок &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3090-3422&amp;quot;} --&gt;
&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
К примеру:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда1 2 &amp;gt; файл1&lt;/pre&gt;

&lt;p&gt;
выполняет команду1 направляя стандартный поток ошибок в файл1
&lt;/p&gt;

&lt;p&gt;
В командных оболочках произошедших от C Shell по правилам синтаксиса для указания потока, в который осуществляется перенаправление нужно добавлять символ &amp;amp; после символа перенаправления.
&lt;/p&gt;

&lt;p&gt;
Часто стандартный поток ошибок объединяют со стандартным потоком вывода, чтобы можно было обрабатывать ошибки и обычные результаты работы программы вместе. К примеру:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;find / -name .profile&amp;gt; results.txt 2&amp;gt;&amp;amp;1&lt;/pre&gt;

&lt;p&gt;
попытается найти все файлы с именем .profile. Если выполнять эту команду без перенаправлений она будет направлять результаты поиска в &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shell:stdout&quot; class=&quot;wikilink2&quot; title=&quot;system:shell:stdout&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:shell:stdout&quot;&gt;stdout&lt;/a&gt;, а сообщения об ошибках(к примеру о недостаточности прав доступа при попытке поиска в защищенных директориях) в &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shell:stderr&quot; class=&quot;wikilink2&quot; title=&quot;system:shell:stderr&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:shell:stderr&quot;&gt;stderr&lt;/a&gt;. По умолчанию эти роли выполняет консоль. Если стандартный поток вывода направлен в файл результаты, то ошибки по-прежнему будут направляться в консоль. Чтобы и ошибки и результаты поиска направлялись в файл results.txt стандартные потоки ошибок и вывода были объединены используя &lt;strong&gt;2&amp;gt;&amp;amp;1&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Написание &lt;strong&gt;2&amp;gt;&amp;amp;1&lt;/strong&gt; перед &lt;strong&gt;&amp;gt;&lt;/strong&gt; не будет работать, так как когда интерпретатор прочитает &lt;strong&gt;2&amp;gt;&amp;amp;1&lt;/strong&gt;, он ещё не знает куда перенаправлен стандартный поток вывода, поэтому потоки ошибок и вывода не будут объединены.
&lt;/p&gt;

&lt;p&gt;
Если объединенный результат нужно направить на вход другой программы посредством конвейера, тогда последовательность &lt;strong&gt;2&amp;gt;&amp;amp;1&lt;/strong&gt; должна стоять перед знаком конвейера. К примеру:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;find / -name .profile 2&amp;gt;&amp;amp;1 | less&lt;/pre&gt;

&lt;p&gt;
Упрощенная форма записи команды:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда&amp;gt; файл 2&amp;gt;&amp;amp;1&lt;/pre&gt;

&lt;p&gt;
выглядит так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда &amp;amp;&amp;gt; файл&lt;/pre&gt;

&lt;p&gt;
или
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда&amp;gt;&amp;amp; файл&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\/\u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0432_\u0438\u0437_\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445_\u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445_\u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2384-6321&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;цепочка_конвейеров&quot;&gt;Цепочка конвейеров&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Команды перенаправления и конвейеризации могут быть объединены в цепочки для получения более сложных команд, к примеру:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ls | grep &amp;#039;.sh&amp;#039; | sort&amp;gt; shlist&lt;/pre&gt;

&lt;p&gt;
Получает список содержимого текущей директории, который фильтруется, оставляя только строки содержащие &amp;lt;tt&amp;gt;&amp;#039;.sh&amp;#039;&amp;lt;/tt&amp;gt;, затем этот отфильтрованный список лексически сортируется и окончательный результат помещается в файл &amp;lt;tt&amp;gt;shlist&amp;lt;/tt&amp;gt;. Конструкции подобного типа часто встречаются в скриптах командной оболочки UNIX.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0426\u0435\u043f\u043e\u0447\u043a\u0430 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0446\u0435\u043f\u043e\u0447\u043a\u0430_\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6322-7208&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;перенаправление_в_несколько_выводов&quot;&gt;Перенаправление в несколько выводов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Стандартная команда &lt;strong&gt;&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shell:tee&quot; class=&quot;wikilink2&quot; title=&quot;system:shell:tee&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;system:shell:tee&quot;&gt;tee&lt;/a&gt;&lt;/strong&gt; может перенаправить вывод команды в несколько мест одновременно. Пример:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ls -lrt | tee файл1&lt;/pre&gt;

&lt;p&gt;
направляет стандартный вывод команды &lt;strong&gt;ls -lrt&lt;/strong&gt; (список файлов) как в консоль так и в &lt;strong&gt;файл1&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0432\u043e\u0434\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0432_\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e_\u0432\u044b\u0432\u043e\u0434\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7209-7697&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;перенаправление_с_добавлением&quot;&gt;Перенаправление с добавлением&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В командной оболочке &lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=system:shell:bash&quot; class=&quot;wikilink1&quot; title=&quot;system:shell:bash&quot; data-wiki-id=&quot;system:shell:bash&quot;&gt;Bash&lt;/a&gt; можно осуществить перенаправление в файл с добавлением в конец. При этом информация, хранящаяся в файле не будет удалена, а вся новая информация будет добавлена в конец этого файла. Синтаксис:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;команда1&amp;gt;&amp;gt; файл1&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0441_\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;7698-8234&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;встроенный_документ&quot;&gt;Встроенный документ&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Некоторые оболочки, и даже прикладные ЯВУ (PHP], Perl) допускают синтаксис встроенных документов (см. Heredoc-синтаксис), позволяющий направлять входной поток из самого файла программы, например:  cat«&lt;abbr title=&quot;End of file&quot;&gt;EOF&lt;/abbr&gt;  Здесь помещается произвольный текст,  в том числе включающий в себя специальные символы  &lt;abbr title=&quot;End of file&quot;&gt;EOF&lt;/abbr&gt;
&lt;/p&gt;

&lt;p&gt;
Завершающая сигнатура окончания встроенного документа &lt;abbr title=&quot;End of file&quot;&gt;EOF&lt;/abbr&gt; (можно использовать произвольное значение, но часто используется именно &lt;abbr title=&quot;End of file&quot;&gt;EOF&lt;/abbr&gt; - соответственно смыслу) должна начинаться с начала строки.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439_\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;8235-&amp;quot;} --&gt;</description>
    </item>
</rdf:RDF>
