The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Идея создания утилиты x."
Отправлено pavlinux, 30-Авг-10 03:45 
>Хочу рассказать об идее утилиты командной строки.

Автор, если нефига делать, напиши утилитку, а то мне впадлу

sysctl в зависимости от текущего ядра, и иерархическое распарсивание, а то достало ужо...

То есть, новый sysctl должен понимать как старый sysctl.conf, так и новый, с тегами.

@UNIQ 2 {
    # тут все параметры для ядер от 2.0.0 до 2.*

   @UNIQ 2.4
       {
        # тут только для 2.4.+
   }

   @UNIQ 2.6
       {
        # тут только для 2.6.+

       @UNIQ 2.6.6-16
                {
                 # тут только для 2.6.6.* до 2.6.16.*

                @UNIQ 2.6.16.25-61
                             {
                               # тут только для 2.6.16.25 до 2.6.16.61
                }

       }

      @UNIQ 2.6.16,18,26  
                   {
                    # тут только для 2.6.16.*, 2.6.18.* и 2.6.26.*
       }
      @UNIQ 2.6.32-34,36  
                   {
                    # тут только для 2.6.32.*, 2.6.33.*, 2.6.34.* и 2.6.36.*
       }
   }
}


1. Тэги начинающиеся с @UNIQ N { всегда должны обрабатываться как уникальные, т.е.

@UNIQ 2.0 {
# все ядра 2.0.*

       @UNIQ1.3.21-vasyapup1.9.98 {
         # и вдруг захотелось 1.3.21-vasyapup1.9.98

       }
# а тут продолжили оптять для 2.0.*
}  


2. Теэги начинающееся с "@GROUP N {" и "@SUBGROUP N {" - есть групповые. Т.е.

@GROUP 2 {
# все ядра 2.*
         @SUBGROUP 2 {

          # все ядра 2.2.*
                  @SUBGROUP 6 {
                            # все ядра 2.2.6.*
                  }

         }

        @SUBGROUP 6 {
                 # все ядра 2.6.*
  
                 @SUBGROUP 16-32 {
                              # все ядра 2.6.16.* до  2.6.32.*
                 }
        }
}

3. Тэги начинающиеся с @VERSION, @PATCHLEVEL, @SUBLEVEL, @EXTRAVERSION - абсолютные.

Т.е. возможны варианты

@UNIQ 2.0.15 {

# только 2.0.*  
           @SUBLEVEL 22 {
                      # только ядра 2.0.22.*
           }

          @PATCHLEVEL 4 {

           # только ядра 2.4.15.*

                  @PATCHLEVEL 6 {
                           # только ядра 2.6.15.*                        
                  }

          }
                       @SUBGROUP 0 {
                                     # опять 2.0.*
                                     @SUBGROUP 6 {
                                                  # все ядра 2.2.6.*
                                     }

                      }
  }

} # 1.3


Приоритеты:

Самый высший - @UNIQ
Далее - @VERSION, @PATCHLEVEL, @SUBLEVEL, @EXTRAVERSION, которые просто заменяют число в соответствующей позиции.
низший приоритеты - @GRUOP и @SUBGROUP - которые дописывают в конец нумерации своё значение.

отдельно можно создать секцию @COMMON { } - для всех, без исключения, но с отрицаниями.

@COMMON {

от 0 до ....

    !@VERSION 1 {
              # кроме  1.*    
    }

   !@VERSION 2 {
         кроме 2.*
                !@SUBGROUP 1,3 {
                            # кроме 2.1.* и 2.3.*  
                            !@SUBLEVEL 5 {
                                       # и 2.5.*
                            }
                }
    }
}

ну и так далее :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру