기둥의 끝부분 너비는 얼마입니까?

기둥의 끝부분 너비는 얼마입니까?

에서는 man bash환경 변수가 COLUMNS터미널 너비임을 알 수 있습니다. 다른 값을 사용해 보았으나 문자수로 보면 실제 터미널 너비는 아닌 것 같습니다.

$ dpkg -l | grep mozilla
ii  rhythmbox-mozilla                      2.96-0ubuntu4.3                         Rhythmbox Mozilla plugin
ii  totem-mozilla                          3.0.1-0ubuntu21.1                       Totem Mozilla plugin
$ echo $COLUMNS
135
$ COLUMNS=13 dpkg -l | grep mozilla
ii  totem-mozilla  3.0.1-0ubuntu2 Totem Mozilla plugin
$ COLUMNS=1 dpkg -l | grep mozilla
ii  totem-mozilla  3.0.1-0ubuntu2 Totem Mozilla plugin
$ COLUMNS=100 dpkg -l | grep mozilla
ii  rhythmbox-mozilla   2.96-0ubuntu4.3     Rhythmbox Mozilla plugin
ii  totem-mozilla       3.0.1-0ubuntu21.1   Totem Mozilla plugin
$ COLUMNS=200 dpkg -l | grep mozilla
ii  rhythmbox-mozilla                            2.96-0ubuntu4.3                              Rhythmbox Mozilla plugin
ii  totem-mozilla                                3.0.1-0ubuntu21.1                            Totem Mozilla plugin

기둥의 끝부분 너비는 얼마입니까? 감사해요.

답변1

COLUMNSbash에 의해 설정된 변수이며 수동으로 설정한 변수를 의미하지는 않습니다. 또한 기본적으로 내보내지지 않으므로 셸 실행 응용 프로그램에서는 이를 볼 수도 없습니다.

저건 뭘위한거야? 터미널 에뮬레이터의 문자 너비가 포함됩니다. 수직적으로 동등한 것은 입니다 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
#? 

답변2

$COLUMNS터미널 너비를 제공합니다. with 사용에 관해서는 dpkg -l가장 긴 줄을 살펴봐야 합니다(즉, grep줄을 버릴 수 있으므로 사용하지 마세요). 물론 $COLUMNS1이나 13처럼 너무 작으면 할 수 있는 게 아무것도 없습니다.

편집: dpkg -lgrep으로 파이프할 때와 같이 출력이 터미널에 연결되지 않은 경우 dpkg는 가장 긴 필드를 기준으로 열 크기를 사용하므로 출력이 터미널보다 넓을 수 있습니다. 터미널 너비를 고려하려면 다음을 사용하십시오.

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

쉘 변수는 $COLUMNS기본적으로 내보내지지 않으며(즉, 환경 변수가 아님) COLUMNS=$COLUMNSdpkg에 환경 변수로 제공되는 효과가 있습니다.COLUMNS

관련 정보