では、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
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
#?