ИМЯ: strips
strips Извлекает документирующий заголовок командного процессора.
ФУНКЦИЯ
Печатает начальные строки комментария к командному файлу командного процессора, что выражено буквой "s" в имени. Первая строка игнорируется для совместимости с командным процессором языка Си.
ФОРМАТ
strips файл [...]
ПРИМЕР ВЫЗОВА
strips *.sh
Извлекает комментарии из всех командных файлов в текущем каталоге.
ИСХОДНЫЙ КОД ДЛЯ strips
1 : 2 # @(#) strips v1.0 Strip shell comment header Author: Russ Sage 4 for FILE in $@ 5 do 6 cat $FILE | (read LINE; echo $LINE 7 while read LINE 8 do 9 if [ "`echo $LINE|cut -c1`" = "#" ] 10 then echo "$LINE" 11 else exit 12 fi 13 done) 14 done
ПЕРЕМЕННЫЕ СРЕДЫ
FILE | Хранит каждое имя файла, полученное из командной строки. |
LINE | Хранит каждую строку вводного текста, полученную из читаемого файла. |
ОПИСАНИЕ
Зачем нам нужен strips?
Так же как нам нужны средства обработки документации для файлов с исходным кодом на Си, нам нужны и аналогичные средства для командных файлов командного процессора. Разница между извлечением комментариев из кода на языке Си и их извлечением из кода командных файлов командного процессора - в способе разграничения комментариев в исходном файле. Исходный файл на Си использует пару /* */, а командные файлы командного процессора применяют #, чтобы выделить остаток строки как комментарий.
Обработка документации облегчается, когда командные файлы следуют некоторой форме стандартизованной документации. В действительности нет формального стандарта, но наиболее близкий стандарт приходит со страниц руководств по самой системе UNIX. Стандартными полями являются имя командного файла, способ его вызова, что он делает и, возможно, некоторые пометки о том, как он работает, ссылки на другие места для поиска информации и сведения о том, какие файлы использует данный командный файл. Пример формата выглядит так:
: # ИМЯ # strips Извлекает поля shell-комментариев # # ФОРМАТ ВЫЗОВА # strips файл [...] # # АВТОР # Russ Sage mm/dd/yy # # ОПИСАНИЕ # Данный командный файл извлекает комментирующие # заголовки из командных файлов интерпретатора shell. # # СМ. ТАКЖЕ # sh(1), cat(1)