Какова терминальная ширина СТОЛБЦАМИ?

[1174116] Я использую KDE, может быть, он похож на LXDE? Перейдите в раздел Системные настройки, найдите Приложения и системные уведомления. Все, что Вам нужно, находится там. Также, если Вы хотите узнать, щелкнула она или нет, Вы можете использовать прыгающую мышь вместо звука. Звук будет отвлекать. Ненавижу звук Facebook :D

Для этого найдите в Системных настройках раздел Обратная связь при запуске. Вы найдете эту (классную) функцию[1174121].

1
11.07.2014, 01:39
2 ответа
[

][]COLUMNS[] является переменной, устанавливаемой bash, и не предназначена для переменной, устанавливаемой вручную. Она также не экспортируется по умолчанию, поэтому приложения, запускаемые оболочкой, даже не видят ее.[

] [

]Для чего она тогда? Она содержит ширину эмулятора вашего терминала в символах. Это вертикальный эквивалент []LINES[]. Они оба используются встроенным оболочкой []select[]. Встроенный []select[] используется для представления пользователю списка элементов, которые он может выбрать. Затем он пытается отобразить список таким образом, чтобы он вписывался в клемму. Примеры ниже:[

] [

]С терминальным окном 35x50:[

] [
$ select foo in a b c d e f g h i j k l m n o p q r s t u v w x y z; do echo foo="$foo"; done
1) a    7) g  13) m  19) s  25) y
2) b    8) h  14) n  20) t  26) z
3) c    9) i  15) o  21) u
4) d   10) j  16) p  22) v
5) e   11) k  17) q  23) w
6) f   12) l  18) r  24) x
#? 
] [

]С терминальным окном 100x10:[

] [
$ select foo in a b c d e f g h i j k l m n o p q r s t u v w x y z; do echo foo="$foo"; done
1) a    3) c   5) e   7) g   9) i  11) k  13) m  15) o  17) q  19) s  21) u  23) w  25) y
2) b    4) d   6) f   8) h  10) j  12) l  14) n  16) p  18) r  20) t  22) v  24) x  26) z
#? 
]
3
27.01.2020, 23:21

$COLUMNS дает ширину терминала. Что касается использования с dpkg -l, то следует обратить внимание на самую длинную строку (т.е. не используйте grep, т.к. это, скорее всего, приведет к отбрасыванию этой строки). И конечно, если $COLUMNS слишком маленькая, например 1 или 13, то за вас ничего не сделаешь.

EDIT: если выход dpkg -l не подключен к терминалу, например, при соединении трубопровода с grep, dpkg использует размеры столбцов, основанные на самых длинных полях; таким образом, выход может быть шире терминала. Если вы хотите учесть ширину терминала, используйте:

COLUMNS=$COLUMNS dpkg -l | grep ...

Обратите внимание, что переменная оболочки $COLUMNS не экспортируется по умолчанию (т.е. не является переменной окружения), и COLUMNS=$COLUMNS имеет эффект, который дает возможность использовать COLUMNS в качестве переменной окружения для dpkg.

1
27.01.2020, 23:21

Теги

Похожие вопросы