...пишу инструкцию для таких же как я
А кто-то будет ее читать, учитывая что ты не читал даже минимальный минимум.
Ответы на все твои вопросы в
Подробней читай в справке "Редактирование файлов меню".
Ну, раз гора не идет к Магомеду...
Формат всех трех файлов меню одинаков и очень прост.
...как добавить в файл комментарий - какой для этого разделитель использовать?
Строки комментариев начинаются с '#'.
Дополнительные комментарии должны начинаться с '#', пробела или символа табуляции.
Строки, начинающиеся с любого символа, отличного от пробела и символа табуляции, интерпретируются как названия пунктов меню, причем если первый символ является буквой или цифрой, то соответствующая клавиша будет служить "горячей" клавишей для вызова этого пункта меню.
Строки, начинающиеся с пробела или символа табуляции, интерпретируются как команды, которые должны выполняться при вызове соответствующего пункта меню.
Эти строки должны следовать за строкой названия и их может быть несколько.
...скрипт который в файле ".mc.menu" это специфический формат программы "mc", а не язык bash ?
Когда пользователь выбирает какой-то пункт меню, соответствующие командные строки копируются во временный файл во временном каталоге (пока выполняется скрипт, можешь посмотреть в /tmp/mc-user) и затем этот файл запускается на выполнение.
Это позволяет пользователю вставлять в команды меню любые конструкции, допустимые в командном языке оболочки.
Можно также использовать макроподстановки, которые производятся перед выполнением кода меню (макроподстановками и отличается от шелл-скриптов).
Ошибка, если я не выделил файлы и текущий выделенные тоже не видио...
Каждому пункту меню может предшествовать условие.
Строка, задающая условие, должна содержать символ '=' в первой колонке.
Команды, задаваемые этим пунктом меню, будут выполняться только если условие выполняется.
Синтаксис строки условия: = <sub-cond>
или: = <sub-cond> | <sub-cond> ...
или: = <sub-cond> & <sub-cond> ...
где <sub-condition> может принимать следующие значения:
y <pattern> синтаксис текущего файла соответствует шаблону.
Только для меню редактора.
f <pattern> соответствует шаблону имя текущего файла?
F <pattern> соответствует шаблону файл в пассивной
панели?
d <pattern> соответствует шаблону имя текущего
каталога?
D <pattern> соответствует шаблону имя текущего
каталога в пассивной панели?
t <type> тип файла соответствует <type>?
T <type> тип файла в пассивной панели
соответствует <type>?
x <filename> filename является исполнимым?
! <sub-cond> логическое отрицание условия <sub-cond>
Шаблон (pattern) - это обычный шаблон оболочки (shell pattern) или регулярное выражение, в соответствии с опцией "shell patterns".
Вы можете задать значение опции "shell patterns" путем записи строки "shell_patterns=x" в самую первую строку файла меню (здесь "x" равно 0 или 1).
Типы файлов определяются следующими символами:
n не каталог
r обычный файл (regular file)
d каталог
l ссылка (link)
c байт-ориентированное устройство (char special)
b блок-ориентированное устройство (block special)
f fifo
s socket
x исполняемый файл
t помеченный файл (tagged)
Например, 'rlf' означает либо обычный файл, либо ссылку, либо файл типа fifo.
Тип 't' стоит несколько особняком, потому что этот тип определяется не типом самого файла, а тем, помечен ли файл на панели.
Условие '=t t' истинно, если в текущей панели имеются помеченные файлы, и ложно, если таковых нет.
Если строка условия начинается с '+' (или '+?') вместо '=' (или '=?') - это условие трактуется как условие включения данного пункта в меню.
Если условие истинно, пункт включается в отображаемое на экране меню, если условие не выполняется - не включается.
Вы можете использовать одно и то же условие и как условие выполнения и как условие включения пункта в меню, если начнете строку условия с '+=' или '=+'.
Если вы хотите использовать два разных условия, одно для включения в меню, а другое - для выполнения, надо предпослать пункту меню две строки условий, одну - начинающуюся с '+', и другую - начинающуюся с '='.
Это не ошибка, а скорее средство избежать ошибок.
Убери условия включения - пункт меню будет виден всегда.
Предположим указатель на каком нибудь текстовом файле.
Ты в меню выбираешь этот пункт и...
Вот тут возникнет ошибка.
...не пойму какие форматы обрабатываются и где это указано ?
Те, которые понимает команда ffmpeg. Указано наверно в справке по этой программе.