INTRO(1) INTRO(1) НАЗВАНИЕ intro - введение в описание команд и прикладных прог- рамм ОПИСАНИЕ В этом разделе описаны в алфавитном порядке общедоступ- ные команды. Некоторые различия в назначении команд от- ражены в заголовках: 1 Команды общего назначения 1C Коммуникационные команды 1G Графические команды СИНТАКСИС Если не оговорено противное, описываемые в этом разделе команды ожидают опции и другие аргументы в следующем формате: |имя [-опция ...] [аргумент_команды ...] [ ] Окружают опцию или аргумент, который является нео- бязательным. ... Означает, что предыдущая опция или аргумент могут быть повторены несколько раз. имя Имя выполняемого файла. опция (Перед ней всегда стоит знак -) |флаг... или |флаг аргумент_опции[,...] флаг Одна буква, представляющая опцию без аргумента. Заметим, что несколько флагов могут быть сгруппи- рованы после одного знака - (см. ниже правило 5). аргумент_опции Аргумент (цепочка символов), согласованный с ука- занным перед ним флагом. Заметим, что следующие за флагом группы аргументов_опции должны отделяться друг от друга либо запятыми, либо пробелами, но в последнем случае аргументы следует заключать в ка- вычки (см. ниже правило 8). аргумент_команды Маршрутное имя (или другой аргумент команды), не начинающийся со знака -, или знак - как таковой, обозначающий стандартный ввод. Стандартный синтаксис команд: правила Эти правила не поддерживаются всеми имеющимися на дан- ный момент командами, но все новые команды будут удов- летворять им. Команда getopts(1) должна использоваться всеми shell-программами для разбора позиционных пара- метров и проверки опций на корректность. Она поддержи- вает правила 3-10, описанные ниже. Выполнение остальных правил должны обеспечивать сами команды. 1. Имя команды должно иметь длину от двух до девяти символов. 2. Имя команды должно состоять только из малых букв и цифр. 3. Флаги должны состоять только из одного символа. 4. Перед каждой опцией должен стоять знак -. 5. Опции без аргументов могут быть сгруппированы пос- ле указания одного знака -. 6. Первый аргумент_опции должен быть отделен от флага пробелом. 7. Аргумент_опции не может быть необязательным. 8. Группы аргументов_опции, следующие за флагом, должны отделяться друг от друга либо запятыми, ли бо пробелами, но в последнем случае аргументы сле дует заключать в кавычки, например -o xxx,z,yy или -o "xxx z yy". 9. Все опции должны указываться перед аргументами_ко- манды. 10. Для обозначения конца опций может использоваться последовательность --. 11. Относительный порядок опций не должен играть роль. 12. Относительный порядок аргументов_команды может иг- рать роль в зависимости от используемой команды. 13. Знак -, перед которым и после которого стоит про- бел, может использоваться только для обозначения стандартного ввода. СМ. ТАКЖЕ getopts(1). exit(2), wait(2), getopt(3C) в Справочнике программиста. Предисловие к настоящему Справочнику. КОД ЗАВЕРШЕНИЯ При завершении каждая команда возвращает код, занимаю- щий два байта: первый байт содержит системный код за- вершения, а второй (в случае нормального завершения) содержит пользовательский код, возвращаемый программой [см. wait(2) и exit(2)]. Первый байт при нормальном за- вершении равен 0. Второй байт принято возвращать нуле- вым при успешном завершении и ненулевым при наличии ошибок (неверные аргументы, неверные или недоступные данные и т.д.) не позволяющих достичь цели. Пользова- тельский код завершения может называться также статусом завершения или кодом возврата и описывается только при наличии специальных соглашений. СЮРПРИЗЫ Увы, многие команды не придерживаются описанного выше синтаксиса. Некоторые команды после обработки файлов, содержащих пустые символы, выдают неожиданные результаты. Эти ко- манды трактуют строки входного текста как цепочки сим- волов и, таким образом, воспринимают пустой символ как конец цепочки, а не как собственно символ в строке.