АнглийскийФранцузскийИспанский

Значок OnWorks

zshtcpsys - Интернет в облаке

Запустите zshtcpsys в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда zshtcpsys, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


zshtcpsys - система zsh tcp

ОПИСАНИЕ


Модуль zsh / net / tcp предоставляется для обеспечения сетевого ввода-вывода через TCP / IP изнутри оболочки;
см. его описание в zshмодули(1). Эта страница руководства описывает набор функций на основе
на модуле. Если модуль установлен, функции обычно устанавливаются на
в то же время, и в этом случае они будут доступны для автозагрузки в функции по умолчанию
путь поиска. В добавок к zsh / net / tcp модуль, zsh / zselect модуль используется для
реализовать таймауты для операций чтения. Советы по поиску и устранению неисправностей см.
соответствующий совет для zftp функции, описанные в зшзфтпсис(1).

Существуют функции, соответствующие основным операциям ввода-вывода: открытие, закрытие, чтение и отправка,
названный tcp_open и т. д., а также функцию tcp_expect для анализа данных по шаблону
читать как ввод. Система упрощает получение и отправку данных из нескольких
названные сессии сразу. Кроме того, его можно связать со строковым редактором оболочки в
таким образом, чтобы входные данные автоматически отображались на терминале. Другие средства
доступны, включая ведение журнала, фильтрацию и настраиваемые подсказки вывода.

Чтобы использовать систему там, где она доступна, должно быть достаточно:автозагрузка -U tcp_open' а также
пробег tcp_open как описано ниже, чтобы начать сеанс. В tcp_open функция загрузится автоматически
остальные функции.

TCP USER ФУНКЦИИ


Базовый Ввода / вывода
tcp_open [ -qz ] кашель порт [ Сесс ]
tcp_open [ -qz ] [ -s Сесс | -l Сесс[,...]] ...
tcp_open [ -qz ] [ -a fd | -f fd ] [ Сесс ]
Откройте новую сессию. В первой и самой простой форме откройте TCP-соединение с хостом.
кашель в порту порт; числовые и символьные формы понятны для обоих.

If Сесс дается, это становится именем сеанса, которое может использоваться для ссылки
к нескольким различным TCP-соединениям. Если Сесс не задано, функция будет
придумайте числовое значение имени (обратите внимание, что это то же, что и файловый дескриптор для
который сеанс прикреплен). Рекомендуется, чтобы имена сеансов не включали
"забавные" персонажи, у которых забавные персонажи нечетко определены, но определенно имеют
не включать буквенно-цифровые символы или символы подчеркивания и, конечно же, включать пробелы.

Во втором случае один или несколько открываемых сеансов указываются по имени. Один
имя сеанса дается после -s и список через запятую после -l; оба варианта
можно повторять столько раз, сколько необходимо. Неспособность открыть какой-либо сеанс причины
tcp_open чтобы прервать. Хост и порт читаются из файла .ztcp_sessions в
тот же каталог, что и файлы инициализации zsh пользователя, т.е. обычно домашний
каталог, но $ ZDOTDIR если это установлено. Файл состоит из строк, каждая из которых содержит
имя сеанса, а также соответствующий хост и порт в указанном порядке (обратите внимание на сеанс
имя идет первым, а не последним), разделенные пробелом.

Третья форма допускает пассивные и поддельные TCP-соединения. Если вариант -a используется,
его аргумент - файловый дескриптор, открытый для прослушивания соединений. Не работает
интерфейс предназначен для открытия такого файлового дескриптора, но вызов `ztcp -l порт'
создаст один с файловым дескриптором, хранящимся в параметре $ ОТВЕТИТЬ,
порт прослушивания можно закрыть с помощью `ztcp -c fd'. Звонок в `tcp_open -a fd' будут
заблокировать до тех пор, пока не будет установлено удаленное TCP-соединение с порт на локальной машине. На это
точка, сеанс создается обычным способом и во многом неотличим от
активное соединение, созданное с помощью одной из первых двух форм.

Если вариант -f используется, его аргумент - файловый дескриптор, который используется напрямую
как если бы это был сеанс TCP. Насколько хорошо остальная часть системы функций TCP
справится с этим, зависит от того, что на самом деле лежит в основе этого файлового дескриптора. Обычный
файл может быть непригодным для использования; какой-то FIFO (канал) будет работать лучше, но
обратите внимание, что пытаться читать из двух разных сеансов - не лучший вариант.
тот же FIFO сразу.

Если вариант -q дается в любой из трех форм, tcp_open не будет печатать
информационные сообщения, хотя он в любом случае выйдет с соответствующим
Статус.

Если используется строковый редактор (zle), что обычно бывает, если оболочка
интерактивный tcp_open устанавливает внутри zle обработчик, который проверяет наличие новых данных
одновременно с проверкой ввода с клавиатуры. Это удобно, так как оболочка
не потребляет процессорное время во время ожидания; тест выполняется операционной системой.
Предоставление возможности -z к любой из форм tcp_open не позволяет обработчику
устанавливается, поэтому данные должны быть прочитаны явно. Обратите внимание, однако, что это не
необходим для выполнения полных наборов команд отправки и чтения из функции, как
zle на данный момент не активен. Вообще говоря, обработчик только активен
когда оболочка ожидает ввода в командной строке или в вэред встроенный.
Опция не действует, если zle не активен; `[[ -o зло]]'проверим на это.

Первый открываемый сеанс становится текущим сеансом, а последующие вызовы
tcp_open не меняйте это. Текущая сессия сохраняется в параметре
$ TCP_SESS; см. ниже более подробную информацию о параметрах, используемых системой.

Функция tcp_on_open, если определено, вызывается при открытии сеанса. Увидеть
Приведенное ниже описание.

tcp_close [ -qn ] [ -a | -l Сесс[,...] | Сесс ...]
Закройте названные сеансы или текущий сеанс, если он не указан, или все открытые
сессий, если -a дано. Варианты -l и -s оба обрабатываются для согласованности
tcp_open, хотя последнее является избыточным.

Если закрываемый сеанс является текущим, $ TCP_SESS не настроен, не оставляя
текущий сеанс, даже если другие сеансы все еще открыты.

Если сеанс был открыт с tcp_open -f, файловый дескриптор закрыт до тех пор, пока
поскольку он находится в диапазоне от 0 до 9, доступном непосредственно из командной строки. Если
вариант -n задан, в этом случае попытки закрыть файловые дескрипторы не будут.
Команда -n опция не используется для подлинных ztcp сессия; дескрипторы файлов всегда
закрылся с сеансом.

Если вариант -q дается, информационные сообщения не печатаются.

tcp_read [ -bdq ] [ -t К ] [ -T К ]
[ -a | -u fd[,...] | -l Сесс[,...] | -s Сесс ...]
Выполните операцию чтения в текущем сеансе или в списке сеансов, если таковые имеются
даются с -u, -l or -s, или все открытые сеансы, если опция -a дано. Любой
-u, -l or -s варианты могут повторяться или смешиваться вместе. В -u вариант
указывает дескриптор файла напрямую (только те, которые управляются этой системой,
полезно), два других определяют сеансы, как описано для tcp_open выше.

Функция проверяет наличие новых данных по всем перечисленным сеансам. Если только
-b задана опция, она не блокирует ожидание новых данных. Любая одна строка данных
из любого из доступных сеансов будет прочитан, сохранен в параметре $ TCP_LINE,
и отображается на стандартный вывод, если $ TCP_SILENT содержит непустую строку.
При выводе на стандартный вывод строка $ TCP_PROMPT будет отображаться в начале
линии; форма по умолчанию для этого включает имя читаемого сеанса.
См. Ниже дополнительную информацию об этих параметрах. В этом режиме tcp_read может быть
вызывается неоднократно, пока не вернет статус 2, который указывает на все ожидающие ввода от
все указанные сеансы были обработаны.

С опцией -b, что эквивалентно бесконечному таймауту, функция заблокирует
пока строка не станет доступной для чтения из одного из указанных сеансов. Тем не мение,
возвращается только одна строка.

Опция -d указывает, что все ожидающие ввода данные должны быть удалены. В этом случае
tcp_read может обрабатывать несколько строк описанным выше способом; только последнее
Хранится в $ TCP_LINE, но полный набор хранится в массиве $ tcp_lines. Это
сбрасывается в начале каждого вызова tcp_read.

Варианты -t и -T укажите тайм-аут в секундах, который может быть с плавающей запятой
номер для повышенной точности. С участием -t тайм-аут применяется перед каждой строкой
читать. С участием -T, тайм-аут применяется ко всей операции, включая, возможно,
несколько операций чтения, если опция -d настоящее; без этой опции есть
нет различия между -t и -T.

Функция не печатает информационные сообщения, но если опция -q дано,
сообщение об ошибке не выводится для несуществующего сеанса.

Статус возврата 2 указывает на тайм-аут или отсутствие данных для чтения. Любой другой ненулевой
Статус возврата указывает на некоторую ошибку.

Посмотреть tcp_log о том, как контролировать, куда отправляются данные tcp_read.

tcp_send [ -cnq ] [ -s Сесс | -l Сесс[,...]] данным ...
tcp_send [ -cnq ] -a данным ...
Отправьте предоставленные строки данных во все указанные сеансы по очереди. В
основная операция мало отличается от операции `Распечатать -r'в файл сеанса
дескриптор, хотя он пытается предотвратить смерть оболочки из-за СИГПАЙП
вызвано попыткой записи в несуществующий сеанс.

Опция -c Причины tcp_send вести себя как кошка. Читает строки из стандартного
ввод до конца ввода и отправляет их по очереди в указанный сеанс (ы) точно
как если бы они были даны как данным аргументы индивидуальным tcp_send команды.

Опция -n предотвращает tcp_send от помещения новой строки в конец данных
строки.

Все остальные параметры ведут себя как tcp_read.

Аргументы данных не обрабатываются после того, как они были переданы в
tcp_send; они просто передаются Распечатать -r.

Если параметр $ TCP_OUTPUT является непустой строкой, и ведение журнала включено, тогда
данные, отправленные в каждую сессию, будут отражены в файлах журнала с $ TCP_OUTPUT in
спереди там, где это необходимо, во многом в манере $ TCP_PROMPT.

Сессия Руководство
tcp_alias [ -q ] псевдоним=Сесс ...
tcp_alias [ -q ] [ псевдоним ...]
tcp_alias -d [ -q ] псевдоним ...
Эта функция не особенно хорошо протестирована.

Первая форма создает псевдоним для имени сеанса; псевдоним затем можно использовать для ссылки
к существующей сессии Сесс. Может быть указано столько псевдонимов, сколько требуется.

Во второй форме перечислены все указанные псевдонимы или все псевдонимы, если их нет.

Третья форма удаляет все перечисленные псевдонимы. Базовые сеансы не
пострадавшие.

Опция -q подавляет непоследовательно выбранное подмножество сообщений об ошибках.

tcp_log [ -возр. ] [ -n | -N ] [ журнальный файл ]
С аргументом журнальный файл, весь будущий вклад от tcp_read будет зарегистрирован в
названный файл. Пока не -a (добавление), этот файл сначала будет усечен или
создан пустой. Без аргументов показать текущий статус ведения журнала.

С опцией -s, ведение журнала для каждого сеанса включено. Вход от tcp_read выводится
в файл журнальный файл.Сесс. Поскольку сеанс автоматически распознается
имя файла, содержимое необработанное (нет $ TCP_PROMPT). Опция -a применяется, как указано выше.
Ведение журнала за сеанс и запись всех данных в один файл не исключают друг друга.

Опция -c закрывает все журналы, как полные, так и сеансовые.

Варианты -n и -N соответственно выключить или восстановить вывод данных, прочитанных
tcp_read на стандартный вывод; следовательно, `tcp_log -сп'выключает весь вывод на tcp_read.

Функция представляет собой чисто удобный интерфейс для настройки параметров. $ TCP_LOG,
$ TCP_LOG_SESS, $ TCP_SILENT, которые описаны ниже.

tcp_rename старый новый
Переименовать сеанс старый на сессию новый. Старое имя становится недействительным.

tcp_sess [ Сесс [ команду [ аргумент ...]]]
Без аргументов перечислить все открытые сеансы и связанные дескрипторы файлов. В
текущая сессия отмечена звездочкой. Для использования в функциях прямой доступ к
параметры $ tcp_by_name, $ tcp_by_fd и $ TCP_SESS наверное удобнее; видеть
внизу.

С Сесс аргумент, установите текущий сеанс на Сесс, Это эквивалентно
изменения $ TCP_SESS непосредственно.

С дополнительными аргументами временно установить текущий сеанс при выполнении
`команду аргумент ... '. команду переоценивается, чтобы расширить псевдонимы и т. д., но
осталось аргументs проходят через tcp_sess. Исходная сессия
восстанавливается, когда tcp_sess выходы.

Фильтр Ввода / вывода
tcp_command опция отправки ... аргумент отправки ...
Это удобный интерфейс для tcp_send. Все аргументы передаются в tcp_send,
затем функция приостанавливает ожидание данных. Пока данные поступают не реже, чем каждые
$ TCP_TIMEOUT (по умолчанию 0.3) секунды, данные обрабатываются и распечатываются в соответствии с
текущие настройки. Статус 0 всегда возвращается.

Обычно это полезно только для интерактивного использования, чтобы дисплей не стал
фрагментирован выходными данными, возвращаемыми из соединения. В программе или функции
обычно лучше обрабатывать чтение данных более явным методом.

tcp_expect [ -q ] [ -p вар | -P вар ] [ -t К | -T К ]
[ -a | -s Сесс | -l Сесс[,...]] описания ...
Дождитесь ввода, соответствующего любому из заданных описанияs из любого из указанных
сеансы. Ввод игнорируется до тех пор, пока строка ввода не совпадет с одним из заданных шаблонов;
в этот момент возвращается нулевой статус, соответствующая строка сохраняется в $ TCP_LINE,
и полный набор строк, прочитанных во время звонка на tcp_expect хранится в массиве
$ tcp_expect_lines.

Сеансы указываются так же, как tcp_read: по умолчанию используется
текущий сеанс, в противном случае сеансы, указанные -a, -sэта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор. -l используются.

Каждый описания стандартный шаблон расширенного подстановки zsh; обратите внимание, что это должно быть
заключены в кавычки, чтобы избежать его немедленного расширения при генерации имени файла. Это должно
соответствует всей строке, поэтому для сопоставления подстроки должен быть символ `*'в начале и
конец. Сопоставленная строка включает $ TCP_PROMPT Добавлено tcp_read. Это
можно включить подстановочные флаги `#b'или `#m'в шаблонах, чтобы сделать
обратные ссылки доступны в параметрах $ MATCH, $ матчи т. д., как описано в
базовая документация zsh по сопоставлению с образцом.

В отличие от tcp_read, поведение по умолчанию tcp_expect заблокировать на неопределенный срок, пока
требуемый ввод найден. Это можно изменить, указав тайм-аут с -t
or -T; эти функции как в tcp_read, указав время чтения или общий тайм-аут,
соответственно, в секундах, как целое число или число с плавающей запятой. В качестве tcp_read,
функция возвращает статус 2, если происходит тайм-аут.

Функция возвращается, как только любой из заданных шаблонов совпадает. Если звонящий
необходимо знать, какой из шаблонов совпал, вариант -p вар может быть использован; на
вернуть, $ var устанавливается на номер шаблона с использованием обычной индексации zsh, т.е.
первый - 1 и так далее. Обратите внимание на отсутствие символа `$' перед вар. Избежать
clashes, параметр не может начинаться с `_ожидать'. Индекс -1 используется, если есть
- тайм-аут и 0, если совпадений нет.

Опция -P вар работает аналогично -p, но вместо числовых индексов
обычные аргументы должны начинаться с префикса, за которым следует двоеточие: тогда этот префикс
используется как тег, к которому вар устанавливается, когда аргумент совпадает. Тег Тайм-аут is
используется, если есть тайм-аут, и пустая строка, если совпадения нет. Обратите внимание, это
Допустимо, чтобы разные аргументы начинались с одного и того же префикса, если совпадения совпадают
не нужно различать.

Опция -q передается непосредственно вниз tcp_read.

Поскольку весь ввод осуществляется через tcp_read, все обычные правила вывода строк читаются
подать заявление. Единственным исключением является то, что параметр $ tcp_lines будет отражать только линию
фактически соответствует tcp_expect; использовать $ tcp_expect_lines для полного набора линий
читать во время вызова функции.

tcp_proxy
Это простая функция для принятия TCP-соединения и выполнения команды
с перенаправлением ввода-вывода на соединение. Следует проявлять особую осторожность, поскольку есть
никакой безопасности, и это может сделать ваш компьютер открытым для всего мира.
В идеале его следует использовать только за брандмауэром.

Первый аргумент - это TCP-порт, который функция будет прослушивать.

Остальные аргументы дают команду и ее аргументы для выполнения со стандартным
ввод, стандартный вывод и стандартная ошибка перенаправляются в дескриптор файла на
который сеанс TCP был принят. Если команда не задана, создается новый zsh.
начал. Это дает каждому в вашей сети прямой доступ к вашей учетной записи, что
во многих случаях это плохо.

Команда выполняется в фоновом режиме, поэтому tcp_proxy затем может принимать новые соединения.
Он продолжает принимать новые соединения до тех пор, пока не будет прерван.

tcp_spam [ -эртв ] [ -a | -s Сесс | -l Сесс[,...]] CMD [ аргумент ...]
Выполнить `CMD [ аргумент ...] 'для каждого сеанса по очереди. Обратите внимание, что это выполняет команду
и аргументы; он не отправляет командную строку как данные, если только -t (передать)
предоставляется вариант.

Сеансы могут быть выбраны явно с помощью стандартного -a, -s or -l варианты, или
может быть выбран неявно. Если ни один из трех вариантов не задан, действуют следующие правила:
во-первых, если массив $ tcp_spam_list установлен, это принимается как список сеансов,
в противном случае все сеансы заняты. Во-вторых, любые сеансы, указанные в массиве
$ tcp_no_spam_list удаляются из списка сессий.

Обычно любые сеансы, добавленные-a'или когда выбраны все сеансы
неявно рассылаются спамом в алфавитном порядке; сессии, проведенные $ tcp_spam_list
array или в командной строке рассылаются спамом в указанном порядке. В -r флаг переворачивается
приказ однако прибыл он.

Команда -v флаг указывает, что $ TCP_PROMPT будет выводиться перед каждой сессией. Этот
выводится после любого изменения в TCP_SESS определяемым пользователем tcp_on_spam
функция, описанная ниже. (Очевидно, эта функция может генерировать свои собственные
выход.)

Если вариант -e присутствует строка, обозначенная как `CMD [ аргумент ...] 'выполняется с использованием
Eval, в противном случае он выполняется без дальнейшей обработки.

tcp_talk
Это довольно простая попытка заставить ввод в строковый редактор идти
прямо к дефолту TCP_SESS.

Escape-строка, $ TCP_TALK_ESCAPE, по умолчанию `:', используется для разрешения доступа к обычным
Операция оболочки. Если он находится сам по себе в начале строки или за ним следует только
пробел, редактор строки вернется к нормальной работе. В противном случае строка и
любые следующие пробелы пропускаются, а оставшаяся часть строки выполняется как
ввод оболочки без изменения режима работы строкового редактора.

Текущая реализация несколько несовершена с точки зрения использования команды
история. По этой причине многие пользователи предпочтут использовать какую-либо альтернативу
подход для простой отправки данных в текущий сеанс. Один простой подход -
псевдоним некоторого специального символа (например,%') в `tcp_command --'.

tcp_wait
Единственный аргумент - это целое число или число с плавающей запятой, которое дает секунды для
задерживать. В течение этого периода оболочка не будет делать ничего, кроме ожидания ввода по всем TCP.
сеансов по телефону tcp_read -a. Это похоже на интерактивное поведение в
командная строка при установке обработчиков zle.

`Одноразовый ' файл перевод
tcp_point порт
tcp_shoot кашель порт
Эта пара функций обеспечивает простой способ передачи файла между двумя хостами.
внутри оболочки. Однако обратите внимание, что массовая передача данных в настоящее время выполняется с использованием
кошка. tcp_point читает любые данные, поступающие в порт и отправляет на стандартный вывод;
tcp_shoot подключается к порт on кашель и отправляет свой стандартный ввод. Любые неиспользованные порт
может быть использовано; стандартный механизм выбора порта - думать о случайном
четырехзначное число выше 1024, пока одно не сработает.

Чтобы передать файл с хоста вальдшнеп принимать гостей пружины, На пружины:

tcp_point 8091 > выходной_файл

и вальдшнеп:

tcp_shoot пружины 8091 <входной_файл

Поскольку эти две функции не требуют tcp_open чтобы сначала установить TCP-соединение,
их может потребоваться автозагрузка отдельно.

TCP ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ ФУНКЦИИ


Некоторые функции, если они определены пользователем, будут вызываться системой функций в
определенные контексты. Эта возможность зависит от модуля zsh / параметр, который обычно
доступны в интерактивных оболочках, так как от этого зависит система завершения. Ни один из
необходимо определить функции; они просто предоставляют удобные крючки, когда это необходимо.

Обычно они вызываются после того, как запрошенное действие было выполнено, так что различные
параметры будут отражать новое состояние.

tcp_on_alias псевдоним fd
Когда псевдоним определен, эта функция будет вызываться с двумя аргументами: имя
псевдонима и файловый дескриптор соответствующего сеанса.

tcp_on_avol Сесс fd
Если функция tcp_fd_handler обрабатывает ввод из линейного редактора и обнаруживает
что дескриптор файла больше не может использоваться повторно, по умолчанию он удаляет его из
список файловых дескрипторов, обрабатываемых этим методом, и выводит сообщение. Если
функция tcp_on_avol определен, он вызывается непосредственно перед этой точкой. Это может
вернуть статус 100, который указывает, что нормальная обработка все еще должна быть
выполненный; любой другой статус возврата указывает на то, что никаких дальнейших действий предпринимать не следует
и tcp_fd_handler должен немедленно вернуться с заданным статусом. Обычно
действие tcp_on_avol будет закрывать сеанс.

Переменная TCP_INVALIDATE_ZLE будет непустой строкой, если необходимо
сделать недействительным отображение строкового редактора с помощью `видеть -I'перед печатью вывода из
функции.

(«Самоволка» на военном жаргоне означает «без вести пропавший без вести» или в каком-либо его варианте.
ранее существовавший технический смысл известен автору.)

tcp_on_close Сесс fd
Это вызывается с именем закрываемого сеанса и дескриптором файла.
что соответствовало той сессии. Оба будут недействительными к тому времени, когда функция
называется.

tcp_on_open Сесс fd
Это вызывается после того, как новый сеанс был определен с именем сеанса и файлом
дескриптор в качестве аргументов. Если он возвращает ненулевой статус, открытие сеанса
предполагается сбой, и сеанс снова закрывается; тем не мение, tcp_open будет продолжать
попытаться открыть любые оставшиеся сеансы, указанные в командной строке.

tcp_on_rename старушка fd новость
Это вызывается после того, как сеанс был переименован с тремя аргументами old
имя сеанса, дескриптор файла, новое имя сеанса.

tcp_on_spam Сесс команду ...
Это вызывается один раз для каждой спама в сеансе, просто до команда выполняется для
сессия tcp_spam. Аргументы - это имя сеанса, за которым следует команда
список для исполнения. Если tcp_spam был вызван с опцией -t, первая команда
будет tcp_send.

Эта функция вызывается после $ TCP_SESS настроен так, чтобы отразить сеанс, который будет
рассылается спамом, но до его использования. Следовательно, можно изменить значение
of $ TCP_SESS внутри этой функции. Например, аргументы сеанса для tcp_spam
может включать дополнительную информацию, которая будет удалена и обработана в tcp_on_spam.

Если функция устанавливает параметр $ ОТВЕТИТЬ к `сделанный', командная строка не
выполнен; кроме того, для -v вариант tcp_spam.

tcp_on_unalias псевдоним fd
Это вызывается с именем псевдонима и соответствующего файла сеанса
дескриптор после удаления псевдонима.

TCP ПОЛЕЗНЫЕ ФУНКЦИИ


Следующие функции используются системой функций TCP, но они редко, если вообще когда-либо, нуждаются в
называться напрямую.

tcp_fd_handler
Это функция, установленная tcp_open для обработки ввода внутри строки
редактор, если он нужен. Он находится в формате, задокументированном для встроенной команды `видеть
-F' в зшзле(1).

В активном состоянии функция устанавливает параметр TCP_HANDLER_ACTIVE к 1. Это позволяет
код оболочки, вызываемый изнутри (например, путем установки tcp_on_read), чтобы узнать, есть ли
вызывается, когда оболочка в противном случае простаивает в приглашении редактора.

tcp_output [ -q ] -P подсказка -F fd -S Сесс
Эта функция используется как для регистрации, так и для обработки вывода на стандартный вывод из
одной tcp_read и если $ TCP_OUTPUT установлен) tcp_send.

Команда подсказка для использования определяется -P; по умолчанию - пустая строка. Оно может
содержать:
%c Заменяется до 1, если сеанс является текущим сеансом, в противном случае до 0. Используется с
тернарные выражения, такие как `% (с .-. +)'для вывода'+'для текущего сеанса
и `-' иначе.

%f Заменяется файловым дескриптором сеанса.

%s Заменено именем сеанса.

%% Заменено на сингл `%'.

Опция -q подавляет вывод в стандартный вывод, но не в файлы журнала, которые
настроены.

Команда -S и -F параметры используются для передачи имени сеанса и дескриптора файла для
возможна замена в подсказке.

TCP USER ПАРАМЕТРЫ


Параметры следуют обычному соглашению о том, что прописные буквы используются для скаляров и целых чисел,
в то время как нижний регистр используется для нормального и ассоциативного массива. Это всегда безопасно для пользовательского кода
чтобы прочитать эти параметры. Также могут быть установлены некоторые параметры; они отмечены явно.
Остальные включены в эту группу, поскольку они устанавливаются системой функций для пользователя.
выгода, т. е. их установка обычно бесполезна, но не вредна.

Часто бывает также полезно сделать настраиваемые параметры локальными для функции. Например,
`локальным TCP_SILENT = 1'указывает, что данные, прочитанные во время вызова функции, не будут напечатаны
на стандартный вывод, независимо от настройки вне функции. Аналогично,локальным
TCP_SESS =Сесс'устанавливает сеанс на время выполнения функции, а `локальным TCP_PROMPT ='
указывает, что во время функции для ввода не используется подсказка.

tcp_expect_lines
Множество. Набор строк, прочитанных во время последнего вызова tcp_expect, включая
последний ($ TCP_LINE).

tcp_filter
Множество. Может быть установлен напрямую. Набор расширенных шаблонов подстановки, которые при совпадении
in tcp_output, приведет к тому, что строка не будет выводиться на стандартный вывод. В
шаблоны должны быть определены, как описано для аргументов tcp_expect. Выход
строка для файлов журнала не затрагивается.

TCP_HANDLER_ACTIVE
Скалярный. Установить в 1 в пределах tcp_fd_handler для указания функций, вызываемых рекурсивно
что они были вызваны во время сеанса редактора. В противном случае не установлено.

TCP_LINE
Последняя строка, прочитанная tcp_read, а значит, и tcp_expect.

TCP_LINE_FD
Дескриптор файла, из которого $ TCP_LINE был прочитан. $ {tcp_by_fd [$ TCP_LINE_FD]} предусматривает
укажите соответствующее имя сеанса.

tcp_lines
Множество. Набор строк, прочитанных во время последнего вызова tcp_read, в том числе последние
($ TCP_LINE).

TCP_LOG
Может быть установлен напрямую, но также контролируется tcp_log. Имя файла
на который будет отправляться вывод всех сессий. Вывод осуществляется
обычный $ TCP_PROMPT. Если это не абсолютный путь, он будет следовать за пользователем
Текущий каталог.

TCP_LOG_SESS
Может быть установлен напрямую, но также контролируется tcp_log. Префикс для
набор файлов, в которые будет отправляться вывод каждой сессии отдельно; полный
имя файла $ {TCP_LOG_SESS}.Сесс. Вывод в каждый файл необработанный; подсказка не добавляется.
Если это не абсолютный путь, он будет следовать за текущим каталогом пользователя.

tcp_no_spam_list
Множество. Может быть установлен напрямую. Видеть tcp_spam как это используется.

TCP_OUTPUT
Может быть установлен напрямую. Если это непустая строка, любые данные, отправленные в сеанс tcp_send
будет зарегистрирован. Этот параметр дает подсказку для использования в файле, указанном
$ TCP_LOG но не в файле, созданном из $ TCP_LOG_SESS. Строка подсказки имеет
тот же формат, что и TCP_ПРОМПТ и применяются те же правила его использования.

TCP_ПРОМПТ
Может быть установлен напрямую. Используется как префикс для данных, считываемых tcp_read который напечатан
в стандартный вывод или в файл журнала, заданный $ TCP_LOG, если есть. Любой `%s', `%f' или
`%%'в строке будет заменено именем сеанса,
дескриптор файла, лежащего в основе сеанса, или один%', соответственно. В
выражение `%c'расширяется до 1, если читаемый сеанс является текущим сеансом, иначе
0; это наиболее полезно в тернарных выражениях, таких как `% (с .-. +)'который выводит'+'
если сеанс текущий, иначе `-'.

Если приглашение начинается с %P, это удалено, и полный результат
предыдущий этап проходит через стандартную подсказку %-стилевое форматирование перед тем, как быть
вывод.

TCP_READ_DEBUG
Может быть установлен напрямую. Если это имеет ненулевую длину, tcp_read даст некоторые ограниченные
диагностика считываемых данных.

TCP_SECONDS_START
Это значение создается и инициализируется нулевым значением с помощью tcp_open.

Функции tcp_read и tcp_expect использовать оболочку СЕКУНД параметр для их
собственные временные цели. Если этот параметр не относится к типу с плавающей запятой при входе в
одна из функций, она создаст локальный параметр СЕКУНД который плывет
укажите и установите параметр TCP_SECONDS_START к предыдущему значению $ СЕКУНД.
Если параметр уже имеет значение с плавающей запятой, он используется без локальной копии.
создал и TCP_SECONDS_START не установлен. Поскольку глобальное значение равно нулю, оболочка
прошедшее время гарантированно будет суммой $ СЕКУНД и $ TCP_SECONDS_START.

Этого можно избежать, установив СЕКУНД глобально к значению с плавающей запятой, используя
`набрана -F СЕКУНД'; тогда функции TCP никогда не будут делать локальную копию и никогда
набор TCP_SECONDS_START к ненулевому значению.

TCP_SESS
Может быть установлен напрямую. Текущая сессия; должен относиться к одной из сессий
установлено tcp_open.

TCP_SILENT
Может быть установлен напрямую, но также контролируется tcp_log. Если ненулевое
длина, данные читаются tcp_read не будет записан в стандартный вывод, хотя может
по-прежнему будет записан в файл журнала.

tcp_spam_list
Множество. Может быть установлен напрямую. См. Описание функции tcp_spam на сколько
это используется.

TCP_TALK_ESCAPE
Может быть установлен напрямую. См. Описание функции tcp_talk как это
используемый.

TCP_TIMEOUT
Может быть установлен напрямую. В настоящее время это используется только функцией tcp_commandСм.
выше.

TCP ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ ПАРАМЕТРЫ


Следующие параметры не устанавливаются системой функций, но имеют особый эффект, если
устанавливается пользователем.

tcp_on_read
Это должен быть ассоциативный массив; в противном случае поведение не определено.
Каждый ключ - это имя функции оболочки или другой команды и соответствующий
значение - это шаблон оболочки (с использованием EXTENDED_GLOB). Каждая строка, прочитанная из TCP-сеанса
прямо или косвенно используя tcp_read (который включает строки, прочитанные tcp_expect) является
по сравнению с шаблоном. Если строка совпадает, команда, указанная в ключе, будет
вызывается с двумя аргументами: имя сеанса, из которого была прочитана строка,
и сама линия.

Если какая-либо функция, вызываемая для обработки строки, возвращает ненулевой статус, строка не является
выход. Таким образом tcp_on_read обработчик, содержащий только инструкцию `возвращают 1' жестяная банка
использоваться для подавления вывода определенных строк (см., однако, tcp_filter выше).
Однако строка все еще хранится в TCP_LINE и tcp_lines; это происходит в конце концов
tcp_on_read обработка.

TCP ПОЛЕЗНЫЕ ПАРАМЕТРЫ


Эти параметры контролируются функциональной системой; их можно читать напрямую, но
обычно не должны устанавливаться кодом пользователя.

tcp_aliases
Ассоциативный массив. Ключи - это имена сеансов, установленных с tcp_open;
каждое значение представляет собой список псевдонимов, которые относятся к этому сеансу, через пробел.

tcp_by_fd
Ассоциативный массив. Ключи - дескрипторы файлов сеанса; каждое значение - это имя
этой сессии.

tcp_by_name
Ассоциативный массив. Ключи - это названия сеансов; каждое значение - это файл
дескриптор, связанный с этим сеансом.

TCP ПРИМЕРЫ


Вот тривиальный пример использования удаленного калькулятора.

Чтобы создать сервер калькулятора на порту 7337 (см. dc справочная страница о том, как
выводит из себя базовую команду):

tcp_proxy 7337 dc

Чтобы подключиться к этому с того же хоста с сеансом, также названным `dc':

tcp_open локальный 7337 dc

Чтобы отправить команду удаленному сеансу и немного подождать вывода (при условии, что dc is
текущий сеанс):

tcp_command 2 4 + p

Чтобы закрыть сеанс:

tcp_close

Команда tcp_proxy нужно убить, чтобы его остановить. Обратите внимание, что это обычно не убивает
соединения, которые уже были приняты, а также то, что порт не сразу
доступны для повторного использования.

Следующий фрагмент кода помещает список сеансов в заголовок xterm с текущим
сеанс, за которым следует звезда.

Распечатать -n "\ 033] 2; TCP:" $ {(k) tcp_by_name: / $ TCP_SESS / $ TCP_SESS \ *} "\ а"

TCP ОШИБКИ


Функция tcp_read использует нормальную оболочку читать встроенный. Поскольку здесь читается полная строка
сразу, данные, поступающие без завершающей новой строки, могут привести к блокировке функции
на неопределенный срок.

Хотя набор функций хорошо работает для интерактивного использования и для данных, поступающих в небольшие
количествах, производительность при обмене большими объемами данных, вероятно, будет
очень плохо.

Используйте zshtcpsys онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    ПостустановщикF
    ПостустановщикF
    PostInstallerF установит все
    программное обеспечение, которое Fedora Linux и другие
    не включает по умолчанию, после
    запуск Fedora в первый раз. Его
    легко для ...
    Скачать PostInstallerF
  • 2
    Трассирование
    Трассирование
    Проект strace перенесен в
    https://strace.io. strace is a
    диагностика, отладка и обучение
    трассировщик пользовательского пространства для Linux. Это используется
    следить за...
    Скачать стрейс
  • 3
    Графический интерфейс извлечения gMKV
    Графический интерфейс извлечения gMKV
    Графический интерфейс для утилиты mkvextract (часть
    MKVToolNix), который включает большинство (если
    не все) функциональность mkvextract и
    утилиты мквинфо. Написано на C#NET 4.0,...
    Скачать gMKVExtractGUI
  • 4
    Библиотека JasperReports
    Библиотека JasperReports
    Библиотека JasperReports - это
    самый популярный в мире открытый исходный код
    бизнес-аналитика и отчетность
    двигатель. Он полностью написан на Java
    и это умеет ...
    Скачать библиотеку JasperReports
  • 5
    Книги Frappe
    Книги Frappe
    Frappe Books — это бесплатная книга с открытым исходным кодом.
    программное обеспечение для настольного бухгалтерского учета, которое
    простой и хорошо продуманный для использования
    малый бизнес и фрилансеры. Это'...
    Скачать книги фраппе
  • 6
    Числовой Python
    Числовой Python
    НОВОСТИ: NumPy 1.11.2 — последний релиз
    это будет сделано на sourceforge. Колеса
    для Windows, Mac и Linux, а также
    заархивированные исходные дистрибутивы могут быть четыре...
    Скачать числовой Python
  • Больше »

Команды Linux

Ad