help chain | help chars | help colors | help compile | help nocase | help office | help options | help patterns | help select | help shell | help unicode | help var | samp | Команда: help chain Ссылка на цепочку команд sfk: несколько команд могут быть объединены в так называемую «цепочку команд». это делается путем добавления имен команд с префиксом «+», например: sfk список документов .txt +ffilter -+foo "list" создает список имен файлов и передает его в "filefilter". ffilter считывает содержимое этих файлов в поисках слова «foo». типы данных цепочки от одной команды к другой могут передаваться три типа данных: - списки имен файлов. - незашифрованные текстовые записи (строки). - поток текстовых или двоичных данных. вывод зависит от команды. например, sfk select производит списки имен файлов, фильтр sfk создает простые текстовые записи, xex/xed может создавать потоки текстовых или двоичных данных. преобразование типа данных цепочки и наоборот, некоторые команды принимают имена файлов или ввод текста, или даже и то, и другое. в зависимости от того, что вы хотите сделать, может потребоваться преобразование между это типы данных. это можно сделать по ключевым словам: +texttofilenames или +ttf +filenamestotext или +ftt однако большинство команд sfk пытаются выполнять такие преобразования автоматически. использование цепочек данных между командами sfk cmd1 ... +тогда cmd2 не передает данные в cmd2, выводит вывод cmd1 на терминал. sfk ... +toterm выгружает текущее содержимое цепочки на терминал. sfk ... +tofile outfile выгружает содержимое цепочки в файл outfile. sfk ... +tovoid +cmd2 не передает данные в cmd2, молча отбрасывает текст цепочки cmd1. во всех случаях цепочка очищается. если следует другая команда, он не получит никаких входных данных от цепочки. нет туннелирования данных данные цепи могут быть переданы только - из команды создания данных, такой как +echo mytext - непосредственно к следующей команде если он потребляет данные, такие как +setvar myvar - но не через не-потребитель, например +tell othertext плохой пример: sfk echo mytext +скажи привет +setvar a останавливается с ошибкой в setvar: нет данных цепочки хороший пример: sfk echo mytext +setvar a +сказать привет +getvar mytext сохраняется, привет печатается другими словами, в цепочке команд, например: sfk cmd1 +cmd2 +cmd3 +cmd4 +cmd5 невозможно отправить данные из cmd1 в cmd3/4/5 если cmd2 не использует никаких цепочек данных (например, if, tell). начиная с sfk 1.9.3 этот обход cmd2 отключен чтобы избежать конфликтов из-за нежелательных данных цепочки в cmd3/4/5. единственное исключение: cmd1 +имя метки +cmd2 используйте глобальную опцию -keepdata или установите переменную среды установить SFK_CONFIG=сохранить данные для поведения sfk 1.9.2, которое было непоследовательным и работал только с некоторыми командами. использование данных цепочки с call/label/end sfk ... +call myfunc не передает данные цепочки в myfunc sfk ... +tcall myfunc передает текстовые данные в myfunc sfk ... +fcall myfunc передает имена файлов в myfunc sfk label ... +end не возвращает данных цепочки sfk label ... +tend возвращает текстовые данные sfk label ... +fend возвращает список имен файлов если цепочка останавливается с «нет файлов, останавливаясь на x»: это означает, что команда x ожидает список имен файлов, но предыдущая команда ничего не дала. тогда у вас есть три варианта: - используйте +then x, если команда x никогда не должна получать имена файлов из предыдущей команды. - или добавить -keepchain к предыдущей команде, или непосредственно после sfk, чтобы принудительно выполнить команду x. - или используйте -nonote, чтобы подавить сообщение "нет файлов". объем и время жизни опционов большинство параметров действительны только для команды, в которой они указаны. если в цепочке следует другая команда, опция сбрасывается. но некоторые параметры также могут быть указаны в глобальной области. подробнее об этом читайте в разделе «Параметры справки sfk». глобальные параметры -tracechain получить подробный вывод во время шагов sfk через цепочку команд больше в Книге СФК книга SFK содержит длинные примеры с вводом, вывод, сценарий и подробные пояснения к командам. введите "sfk book" для получения дополнительной информации. смотрите также Пакет sfk создает пример скрипта sfk help var как использовать переменные sfk сценарий sfk о сценариях sfk вызов sfk, вызывающий функцию в скрипте sfk label возможные варианты с лейблом sfk, если условное выполнение sfk перейти к локальной метке sfk для повторения команд n раз sfk загрузить загрузить текст или данные для цепочки |