dbo:abstract
|
- توثيق هير أو توثيق هنا؛ (بالإنجليزية: Here document) (وثيقة هير، نص هير، (بالإنجليزية: heredoc ،hereis)، سلسلة هير النصية أو هير النصي) في الحوسبة، هو ملف حرفي أو تيار مدخلات حرفي والذي هو مقطع من ملف كود مصدري يعامل كما لو كان ملف منفصل. يستخدم المصطلح أيضًا لشكل من أشكال حرفيات السلسلة النصية متعددة الأسطر التي تستخدم بناء نحوي مماثل، وذلك بالحفاظ على فواصل الأسطر والمسافات البيضاء الأخرى (بما في ذلك المسافة البادئة) في النص. توثيقات هير أصلها من شل يونكس، وتوجد في sh ، csh ، tcsh ، ksh ، باش، وزي شل، وغيرها. توجد وثيقة هير بحرفيات سلسلة نصية في مختلف اللغات البرمجية عالية المستوى، لا سيما لغة برمجة بيرل (بناء نحوي مستوحى من يونكس شل) واللغات المتأثرة بـبيرل، مثل بي إتش بي وروبي. تحتوي اللغات الأخرى عالية المستوى مثل بايثون وجافا سكربت وتي سي إل على مرافق أخرى للسلاسل النصية متعددة الخطوط. يمكن التعامل مع توثيقات هير كملفات أو سلاسل نصية. تعاملها بعض أدوات شيل (shells) على أنها سلسلة تنسيق حرفية، مما يسمح باستبدال متغير واستبدال الأوامر داخل الحرف. أكثر بناء نحوي مشترك لتوثيق هير، والذي ينشأ في يونكس شيل، هو >> تليها تعيين معرف التحديد (غالبا EOF أو END )، تبدأ من بداية السطر الجديد من خلال اقتباس النص ب " ", وثم يغلق بنفس معرفات التحديد بنفس السطر. البناء النحوي هذا سببه أن توثيق هير يتم تدفقه بشكل حرفي مقيّد، يتم إعادة توجيه محتوى المستند إلى stdin (الإدخال القياسي) للأمر السابق؛ البناء النحوي لتوثيق هير مماثل للبناء النحوي لإعادة توجيه الإدخال، وهو > «يتم أخذ الإدخال من الملف التالي». غالبًا ما تستخدم اللغات الأخرى بناء نحوي متشابه إلى حد كبير، ولكن يمكن أن تختلف تفاصيل البنيوية والوظائف الفعلية بشكل كبير. عندما تستخدم سلسلة حرفية بسيطة، و >> لا تشير إلى انحراف حاسوبي (بالإنجليزية: indirection)، ولكن هو مجرد اصطلاح لمحدد البداية. في بعض اللغات، مثل روبي، >> يستخدم أيضا لإعادة توجيه المدخلات، مما يؤدي إلى أن تستخدم مرتين إذا كان أحد الرغبات هو لإعادة توجيه من توثيق هير الحرفي للسلسلة النصية المطلوبة. (ar)
- Ein Heredoc, auch here document (von englisch, wörtlich hier dokument) genannt, ist ein Sprachkonzept der Informatik zur Spezifikation eines Zeichenfolgenliterals in Kommandozeileninterpretern wie beispielsweise der bash, Windows PowerShell und der Bourne-Shell sowie in Programmiersprachen wie etwa Perl, PHP, Python und Ruby. Der Bezeichnung entsprechend dienen Heredocs zur Definition von Textabschnitten. Im Unterschied zu herkömmlichen Stringdefinitionen werden enthaltene Zeilenumbrüche sowie Einzüge und viele Sonderzeichen im Text bewahrt. Einige Sprachen ermöglichen auch die Interpolation von Variablen oder auch Programmcode innerhalb der Zeichenfolge. Je nach Programmiersprache werden Heredocs durch <<, <<<, <!--</code>, <code><<-</code> oder ähnliche Zeichenfolgen eingeleitet, gefolgt von einem frei wählbaren <a href="/wiki/Delimiter" class="mw-redirect" title="Delimiter">Delimiter</a>-Bezeichner (Trennzeichen); in den anschließenden Zeilen folgt der zuzuweisende Text. Das Ende des Heredoc wird durch eine Zeile mit dem zuvor gewählten Bezeichner und gegebenenfalls einem abschließenden Semikolon markiert.</p><p>Viele UNIX-Shells, einschließlich der Bourne-Shell (sh) und zsh, bieten Heredocs als eine Möglichkeit, um Eingabewerte für Kommandozeilenbefehle anzugeben. Die Microsoft PowerShell bietet eine ähnliche Funktionalität, sowohl interaktiv in der Shell selbst, als auch über eine spezielle Skriptsyntax in Skriptdateien, die in der PowerShell ausführbar sind.</p><p>Beispielhafte Umsetzung in <a href="/wiki/PHP" title="PHP">PHP</a>:<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2">[2]</a></sup></p><div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="cp"><?php</span><span class="k">echo</span> <span class="s"><<<</span><span class="dl">ENDE</span><span class="s"></span><span class="s">Dies ist ein Heredoc</span><span class="s">zweite Zeile</span><span class="dl">ENDE</span><span class="p">;</span><span class="cp">?></span><span class="x"></span></pre></div><p>Ein Beispiel in <a href="/wiki/Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a>:<sup id="cite_ref-3" class="reference"><a href="#cite_note-3">[3]</a></sup></p><div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">text</span><span class="o">=</span><span class="s2">"""</span><span class="si">{name}</span><span class="s2"></span><span class="s2">wohnt in</span><span class="si">{place}</span><span class="s2">"""</span><span class="nb">print</span><span class="p">(</span><span class="n">text</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">'Christoph'</span><span class="p">,</span> <span class="n">place</span><span class="o">=</span><span class="s1">'Chur'</span><span class="p">))</span></pre></div><p>Gibt</p><pre>Christophwohnt inChur</pre><p>aus.</p><h2><span class="mw-headline" id="Siehe_auch">Siehe auch</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Heredoc&veaction=edit§ion=1" class="mw-editsection-visualeditor" title="Abschnitt bearbeiten: Siehe auch">Bearbeiten</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Heredoc&action=edit§ion=1" title="Abschnitt bearbeiten: Siehe auch">Quelltext bearbeiten</a><span class="mw-editsection-bracket">]</span></span></h2><ul><li><a href="/wiki/Literal" title="Literal">Literal</a></li><li><a href="/wiki/Zeichenkette" title="Zeichenkette">Zeichenkette</a></li><li><a href="/wiki/Einzeiler_(Informatik)" title="Einzeiler (Informatik)">Einzeiler in der Informatik</a></li></ul><h2><span class="mw-headline" id="Einzelnachweise">Einzelnachweise</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Heredoc&veaction=edit§ion=2" class="mw-editsection-visualeditor" title="Abschnitt bearbeiten: Einzelnachweise">Bearbeiten</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Heredoc&action=edit§ion=2" title="Abschnitt bearbeiten: Einzelnachweise">Quelltext bearbeiten</a><span class="mw-editsection-bracket">]</span></span></h2><ol class="references"><li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">David Sklar, Adam Trachtenberg: PHP Kochbuch, O’Reilly, Köln, 2003, <a href="/wiki/Spezial:ISBN-Suche/3897213516" class="internal mw-magiclink-isbn">ISBN 3-89721-351-6</a>, S. 2–3</span></li><li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=82&group=20">SELFPHP Heredoc</a></span></li><li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://devcamp.com/trails/introduction-programming-python/campsites/python-strings/guides/guide-heredocs-python">devcamp.com Guide to Heredocs in Python</a></span></li></ol><!-- NewPP limit reportParsed by mw1358Cached time: 20221129013911Cache expiry: 1814400Reduced expiry: falseComplications: []CPU time usage: 0.021 secondsReal time usage: 0.026 secondsPreprocessor visited node count: 72/1000000Post‐expand include size: 0/2097152 bytesTemplate argument size: 0/2097152 bytesHighest expansion depth: 2/100Expensive parser function count: 2/500Unstrip recursion depth: 0/20Unstrip post‐expand size: 2529/5000000 bytesNumber of Wikibase entities loaded: 0/400--> <!--Transclusion expansion time report (%,ms,calls,template)100.00% 0.000 1 -total--> <!-- Saved in parser cache with key dewiki:pcache:idhash:3951601-0!canonical and timestamp 20221129013911 and revision id 227748170. --> (de)
- Heredoc (conjunción apocópica de Here-document o Documento-aquí en español) es una forma de representar cadenas en los lenguajes de programación o shells de algún Sistema Operativo basado en Unix. Los lenguajes de programación que más se valen de este son PHP y Ruby. La diferencia entre Heredoc y otras formas más tradicionales de mandar cadenas de caracteres a la salida estándar es que con heredoc se pueden transmitir grandes cadenas de texto con poco esfuerzo; mientras que con instrucciones simples como printf de C y echo de PHP hay que mandar el texto línea por línea (con un formato a veces complejo en C), incluyendo comillas, especificaciones, punto y coma, el nombre de la instrucción y a veces especificaciones, por cada línea o fragmento de ella que se desee publicar, heredoc nos da la oportunidad de mostrar extensiones mayúsculas de párrafos con una sola instrucción o un solo procedimiento. El texto (generalmente párrafos) creados con instrucciones heredoc incluyen y respetan la indentación, los espacios y caracteres de nueva línea del texto y otros atributos difíciles de incluir con texto simple, como las comillas dobles. Generalmente la sintaxis para programar una salida con heredoc es usando alguna instrucción seguida de <<, después un identificador para el texto, siguiendo con una línea nueva y el texto mismo y, finalmente, el cierre de la instrucción. (es)
- In computing, a here document (here-document, here-text, heredoc, hereis, here-string or here-script) is a file literal or input stream literal: it is a section of a source code file that is treated as if it were a separate file. The term is also used for a form of multiline string literals that use similar syntax, preserving line breaks and other whitespace (including indentation) in the text. Here documents originate in the Unix shell, and are found in the Bourne shell (sh), C shell (csh), tcsh (tcsh), KornShell (ksh), Bourne Again Shell (bash), and Z shell (zsh), among others. Here document-style string literals are found in various high-level languages, notably the Perl programming language (syntax inspired by Unix shell) and languages influenced by Perl, such as PHP and Ruby. JavaScript also supports this functionality via template literals, a feature added in its 6th revision (ES6). Other high-level languages such as Python, Julia and Tcl have other facilities for multiline strings. Here documents can be treated either as files or strings. Some shells treat them as a format string literal, allowing variable substitution and command substitution inside the literal. The most common syntax for here documents, originating in Unix shells, is << followed by a delimiting identifier (often the word EOF or END), followed, starting on the next line, by the text to be quoted, and then closed by the same delimiting identifier on its own line. This syntax is because here documents are formally stream literals, and the content of the document is redirected to stdin (standard input) of the preceding command; the here document syntax is by analogy with the syntax for input redirection, which is < “take input from the following file”. Other languages often use substantially similar syntax, but details of syntax and actual functionality can vary significantly. When used simply for string literals, the << does not indicate indirection, but is simply a starting delimiter convention. In some languages, such as Ruby, << is also used for input redirection, thus resulting in << being used twice if one wishes to redirect from a here document string literal. (en)
- Un Here Document aussi appelé heredoc, document en ligne ou encore document « ici-même » est une manière de déclarer une chaîne de caractères dans les interpréteurs de commandes comme les shells Unix (sh, ksh, csh, bash, zsh) et dans les langages de programmation ou de script comme Perl, PHP, Python, Ruby et JCL. Il conserve tous les sauts de lignes et espaces dans le texte, indentation comprise. Certains langages permettent l'interprétation de variable dans la chaîne. La syntaxe la plus courante consiste en une paire de chevrons << suivie d'un délimiteur, suivi sur la ligne suivante par la première ligne du heredoc, clos à la fin par le délimiteur sur sa propre ligne. Si la paire de chevrons est immédiatement suivie d'un tiret <<- toutes les tabulations en début de ligne du heredoc seront éliminées lors de l'interprétation de la commande. Ceci permet d'indenter le contenu du heredoc par rapport au reste du script et assurer une meilleure lisibilité. (fr)
- ヒアドキュメント(別の呼び方としてヒア文字列、heredocなど)は、文字列リテラルを、シェルスクリプトやプログラミング言語のソースコード中に埋め込むための1つの方法である。 (ja)
- 컴퓨팅에서 히어 도큐먼트(here document, here-document), 히어 텍스트(here-text), 히어독(heredoc), 히어이즈(hereis), 히어 스트링(here-string), 히어 스크립트(here-script)는 파일 리터럴 또는 스트림 리터럴이다. 마치 별도의 파일인 것처럼 취급하는 소스 코드의 한 부분이다. 이 용어는 비슷한 문법을 사용하는 여러 줄의 을 구성하기 위해서도 사용되며 텍스트 안의 줄 바꾸기와 기타 공백(들여쓰기 포함)을 보존한다. 히어 도큐먼트는 유닉스 셸에서 기원하였으며, sh, csh, Tcsh, ksh, bash, zsh 등에서 볼 수 있다. 히어 도큐먼트 스타일의 스트링 리터럴은 다양한 고급 프로그래밍 언어, 특히 펄 프로그래밍 언어(유닉스 셸의 영향을 받은 문법)와 펄에 영향을 받은 언어(예: PHP, 루비)에서 볼 수 있다. 파이썬, Tcl 등의 그 밖의 고급 언어들은 다중 라인 스트링을 위한 다른 기능을 제공한다. 히어 도큐먼트는 파일 또는 문자열로 취급이 가능하다. 일부 셸은 이것들을 Printf 리터럴로 취급하며 이로써 리터럴 내에서 변수 치환과 을 가능케 한다. 유닉스 셸에서 기원한 가장 일반적인 히어 도큐먼트 문법은 <<와 그 뒤에 붙는 구분 문자 식별자(종종 EOF 또는 END), 그리고 다음 줄에 인용 텍스트가 시작되며 인용 텍스트를 닫을 때에는 똑같은 구분 문자 식별자가 위치하게 된다. 이러한 문법은 히어 도큐먼트가 스트림 리터럴임을 의미하며 문서의 내용은 선행 명령dml stdin(표준 스트림)으로 리다이렉트된다. 히어 도큐먼트 문법은 "다음 파일로부터 입력을 받는" <인 입력 리다이렉션 문법과 유사하다. 다른 언어들은 종종 비슷한 문법을 사용하지만 문법과 실제 기능의 세부 사항은 상당히 다를 수 있다. 단순히 스트링 리터럴을 사용할 때 <<는인다이렉션(indirection)을 지시하지 않고 시작 구분자를 의미할 수 있다. 루비 등 일부 언어에서 <<는 입력 리다이렉션을 위해 사용되므로 히어 도큐먼트 스트링 리터럴로부터 리다이렉트하고 싶으면 <<를 두 번 사용해야 한다. (ko)
- Heredóc-синтаксис (/həˈredɒk/) — способ определения строковых переменных в исходном коде программ. Heredoc (дословно с английского «здесь документ») — синтаксис занесения в переменную одно- или (часто) многострочного свободно форматированного текста «как есть». При определении строковых переменных их содержимое, обычно, заключается в одинарные или двойные кавычки, в связи с чем символы кавычек, которые должны быть частью данных, приходится экранировать с помощью escape-последовательностей. Heredoc-синтаксис позволяет определить строку, не заключая её в кавычки, в связи с чем необходимость экранирования этих символов отпадает. (ru)
- Na computação, um Here document ou em tradução livre "documento aqui" é um Literal de arquivo ou literal de fluxo de entrada: é uma seção de um arquivo de código-fonte que é tratado como se fosse um arquivo separado. (pt)
- here文档,又称作heredoc、hereis、here-字串或here-脚本,是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。它可以保存文字裡面的换行或是縮排等空白字元。一些语言允许在字串里执行变量替换和。 here文档最通用的语法是<<紧跟一个标识符,从下一行开始是想要引用的文字,然后再在单独的一行用相同的标识符关闭。在Unix shell里,here文档通常用于给命令提供输入内容。 (zh)
- Here-document — спеціальний блок коду. Він використовує спеціальну форму системи вводу-виводу для формування вхідного потоку програми, наприклад, для передачі списку команд інтерактивній програмі типу ftp, telnet або ed. Початок і кінець блоку команд позначається спеціальною позначкою, яку визначають після знаку << ". Цей знак має ефект перенаправлення виводу файлу в стандартний потік stdin програми чи команди. Схематично here-document виглядає так: interactive-program << EndOfFile_labelcommand 1command 2...EndOfFile_label Приклад використання Here-document для роботи з ftp: #!/bin/bashFilename=`basename $1`Server="some.support.org"Directory="/work/directory"Password="some_good_password"ftp -n $Server <user anonymous "$Password" # або іноді треба використати # quote user anonymous "$Password"binarybellcd $Directoryput "$Filename.tar.gz"byeEOFexit 0 (uk)
|
rdfs:comment
|
- ヒアドキュメント(別の呼び方としてヒア文字列、heredocなど)は、文字列リテラルを、シェルスクリプトやプログラミング言語のソースコード中に埋め込むための1つの方法である。 (ja)
- Na computação, um Here document ou em tradução livre "documento aqui" é um Literal de arquivo ou literal de fluxo de entrada: é uma seção de um arquivo de código-fonte que é tratado como se fosse um arquivo separado. (pt)
- here文档,又称作heredoc、hereis、here-字串或here-脚本,是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。它可以保存文字裡面的换行或是縮排等空白字元。一些语言允许在字串里执行变量替换和。 here文档最通用的语法是<<紧跟一个标识符,从下一行开始是想要引用的文字,然后再在单独的一行用相同的标识符关闭。在Unix shell里,here文档通常用于给命令提供输入内容。 (zh)
- توثيق هير أو توثيق هنا؛ (بالإنجليزية: Here document) (وثيقة هير، نص هير، (بالإنجليزية: heredoc ،hereis)، سلسلة هير النصية أو هير النصي) في الحوسبة، هو ملف حرفي أو تيار مدخلات حرفي والذي هو مقطع من ملف كود مصدري يعامل كما لو كان ملف منفصل. يستخدم المصطلح أيضًا لشكل من أشكال حرفيات السلسلة النصية متعددة الأسطر التي تستخدم بناء نحوي مماثل، وذلك بالحفاظ على فواصل الأسطر والمسافات البيضاء الأخرى (بما في ذلك المسافة البادئة) في النص. يمكن التعامل مع توثيقات هير كملفات أو سلاسل نصية. تعاملها بعض أدوات شيل (shells) على أنها سلسلة تنسيق حرفية، مما يسمح باستبدال متغير واستبدال الأوامر داخل الحرف. (ar)
- Ein Heredoc, auch here document (von englisch, wörtlich hier dokument) genannt, ist ein Sprachkonzept der Informatik zur Spezifikation eines Zeichenfolgenliterals in Kommandozeileninterpretern wie beispielsweise der bash, Windows PowerShell und der Bourne-Shell sowie in Programmiersprachen wie etwa Perl, PHP, Python und Ruby. Der Bezeichnung entsprechend dienen Heredocs zur Definition von Textabschnitten. Im Unterschied zu herkömmlichen Stringdefinitionen werden enthaltene Zeilenumbrüche sowie Einzüge und viele Sonderzeichen im Text bewahrt. Einige Sprachen ermöglichen auch die Interpolation von Variablen oder auch Programmcode innerhalb der Zeichenfolge. (de)
- In computing, a here document (here-document, here-text, heredoc, hereis, here-string or here-script) is a file literal or input stream literal: it is a section of a source code file that is treated as if it were a separate file. The term is also used for a form of multiline string literals that use similar syntax, preserving line breaks and other whitespace (including indentation) in the text. Here documents can be treated either as files or strings. Some shells treat them as a format string literal, allowing variable substitution and command substitution inside the literal. (en)
- Heredoc (conjunción apocópica de Here-document o Documento-aquí en español) es una forma de representar cadenas en los lenguajes de programación o shells de algún Sistema Operativo basado en Unix. Los lenguajes de programación que más se valen de este son PHP y Ruby. La diferencia entre Heredoc y otras formas más tradicionales de mandar cadenas de caracteres a la salida estándar es que con heredoc se pueden transmitir grandes cadenas de texto con poco esfuerzo; mientras que con instrucciones simples como printf de C y echo de PHP hay que mandar el texto línea por línea (con un formato a veces complejo en C), incluyendo comillas, especificaciones, punto y coma, el nombre de la instrucción y a veces especificaciones, por cada línea o fragmento de ella que se desee publicar, heredoc nos d (es)
- Un Here Document aussi appelé heredoc, document en ligne ou encore document « ici-même » est une manière de déclarer une chaîne de caractères dans les interpréteurs de commandes comme les shells Unix (sh, ksh, csh, bash, zsh) et dans les langages de programmation ou de script comme Perl, PHP, Python, Ruby et JCL. Il conserve tous les sauts de lignes et espaces dans le texte, indentation comprise. Certains langages permettent l'interprétation de variable dans la chaîne. (fr)
- 컴퓨팅에서 히어 도큐먼트(here document, here-document), 히어 텍스트(here-text), 히어독(heredoc), 히어이즈(hereis), 히어 스트링(here-string), 히어 스크립트(here-script)는 파일 리터럴 또는 스트림 리터럴이다. 마치 별도의 파일인 것처럼 취급하는 소스 코드의 한 부분이다. 이 용어는 비슷한 문법을 사용하는 여러 줄의 을 구성하기 위해서도 사용되며 텍스트 안의 줄 바꾸기와 기타 공백(들여쓰기 포함)을 보존한다. 히어 도큐먼트는 유닉스 셸에서 기원하였으며, sh, csh, Tcsh, ksh, bash, zsh 등에서 볼 수 있다. 히어 도큐먼트 스타일의 스트링 리터럴은 다양한 고급 프로그래밍 언어, 특히 펄 프로그래밍 언어(유닉스 셸의 영향을 받은 문법)와 펄에 영향을 받은 언어(예: PHP, 루비)에서 볼 수 있다. 파이썬, Tcl 등의 그 밖의 고급 언어들은 다중 라인 스트링을 위한 다른 기능을 제공한다. 히어 도큐먼트는 파일 또는 문자열로 취급이 가능하다. 일부 셸은 이것들을 Printf 리터럴로 취급하며 이로써 리터럴 내에서 변수 치환과 을 가능케 한다. (ko)
- Heredóc-синтаксис (/həˈredɒk/) — способ определения строковых переменных в исходном коде программ. Heredoc (дословно с английского «здесь документ») — синтаксис занесения в переменную одно- или (часто) многострочного свободно форматированного текста «как есть». (ru)
- Here-document — спеціальний блок коду. Він використовує спеціальну форму системи вводу-виводу для формування вхідного потоку програми, наприклад, для передачі списку команд інтерактивній програмі типу ftp, telnet або ed. Початок і кінець блоку команд позначається спеціальною позначкою, яку визначають після знаку << ". Цей знак має ефект перенаправлення виводу файлу в стандартний потік stdin програми чи команди. Схематично here-document виглядає так: interactive-program << EndOfFile_labelcommand 1command 2...EndOfFile_label Приклад використання Here-document для роботи з ftp: (uk)
|