[devel] initscripts
Alexander Bokovoy
=?iso-8859-1?q?ab_=CE=C1_avilink=2Enet?=
Пн Дек 11 22:32:21 MSK 2000
On Mon, 11 Dec 2000, Dmitry V. Levin wrote:
> On Mon, Dec 11, 2000 at 09:47:03AM +0200, Alexander Bokovoy wrote:
> > > > > Радует, что размеры терминала можно узнать безо всякого terminfo - это
> > > > > ведь простой ioctl( fd, TIOCGWINSZ, &struct winsize )!
> > > > Очень хорошо!
> > >
> > > Но не радует, что эта информация может меняться (на photo.iplabs.ru
> > > реально меняется) в процессе загрузки. Мне пришлось изменить семантику, с
> > > заменой переменных на функции.
> > Патч, который я приводил, это учитывает, поскольку каждый загрузочный скрипт
> > включает в себя /etc/rc.d/init.d/functions, то вычисление происходит каждый раз,
> > то есть, скрипты ведут себя адекватно обстановке. И не нужно заменять переменные на
> > функции, поскольку в рамках одного скрипта изменений между инициализацией и
> > выводом результата нет, кроме rc.modules, который может загружать framebuffer, и
> > rc.local, который может переустанавливать терминал -- через fbset или другое средство,
> > но здесь все и так понятно. А переход к функциям увеличивает количество
> > выховов tty_width в несколько раз.
>
> Стоимость вызова tty_width ничтожна.
> А вот думать каждый раз - может терминал измениться во время работы
> скрипта или нет - очень не хочется.
>
> Еще один вариант: я могу встроить в bash автоматическую переменную (с той
> же семантикой, что и RANDOM), которая всегда будет возвращать текущую
> ширину. Это самое дешевое решение, но вот вопрос: как назвать переменную?
Она уже названа в скриптах - COLUMNS.
Sincerely yours, Alexander Bokovoy
The Midgard Project | www.midgard-project.org | Aurora R&D team
Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com
IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source
-- Put your brain in gear before starting your mouth in motion.
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
Подробная информация о списке рассылки Devel