On 2005.01.10 at 21:44:39 +0600, Mikhail Gusarov wrote: > > You ([EMAIL PROTECTED]) wrote: > > > То же поведение замечено с dpkg. > > при терминале с COLUMNS=132 > > $ echo $COLUMNS > > 132 > > $ dpkg -l > > (вывод, отворматированный на 80 столбцов). > > Ман bash по поводу export выкурен? > Тут надо не по поводу export его курить, а по поводу COLUMNS.
Тут-то как раз и выяснится, что эту переменную выставляет (и меняет по получению SIGWINCH сам bash. Причем исключительно для своих внутренних целей - для встроенной команды select. Поэтому авторы dpkg были в корне неправы, что зареклись на её использование. Может быть в ранних версиях, когда dpkg был шелловским скриптом, это имело смысл. А в C-шной программе надо использовать выше по треду приведенный ioctl. А то ведь export может привести к странным эффектам. Например - берем терминал шириной 132, делаем там export COLUMNS, Теперь запускаем из этого терминала xterm -geometry 80x25 -e tclsh и в полученном tclsh делаем set env(COLUMNS) -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] >