首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“出口COLUMNS`”做了什么?

“出口COLUMNS`”做了什么?
EN

Unix & Linux用户
提问于 2011-08-25 16:19:50
回答 2查看 5.1K关注 0票数 4

export COLUMNS命令的重要性是什么?

我所知道的是它是一个全局变量。

我经常在*nix脚本的开头看到它。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2011-08-25 18:29:18

它是当前终端窗口的宽度,以ASCII字符的数量来度量。

来自man bash

代码语言:javascript
复制
   COLUMNS
          Used  by  the  select  builtin command to determine the terminal
          width when printing selection  lists.   Automatically  set  upon
          receipt of a SIGWINCH.

也是在更通用的ksh中:

代码语言:javascript
复制
          COLUMNS
                 If this variable is set, the value is used to define  the
                 width of the edit window for the shell edit modes and for
                 printing select lists.

对于实际部分,请注意,当虚拟终端窗口的尺寸发生变化时,此变量的值会发生变化。(这是将上面提到的SIGWINCH发送到active shell的时候)。

票数 3
EN

Unix & Linux用户

发布于 2011-08-25 16:53:49

这个答案有点猜测,考虑到您没有说您看到的是哪种系统,Solaris、HP-UX、AIX、BSD、Linux (什么发行版?)等等。

与用户进行诅咒式交互的Shell脚本过去会设置环境变量、行和列。

诅咒式的交互性可以追溯到开窗系统之前,所以这些程序通常不会做任何事情来理解xterm窗口的大小。因此,许多基于诅咒的程序使用环境变量、行和列来决定如何布局它们的字段和标签。

有时,shell会在行和列环境变量开始运行时尝试查找和设置它们。许多较老的SunOS和Solaris系统都有/etc/profile这样做。有时,SIGWINCH (至少在SunOS和Solaris中)会被用来设置行和列变量。供应商过去常常以愚蠢的方式修改xterm,并且常常会破坏将SIGWINCH传递给运行在xterm中的进程组,并且诅咒风格的交互看起来非常糟糕。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/19411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档