管道传输时如何确定终端宽度(对于较少的寻呼机?)

时间:2015-05-15 22:39:04

标签: node.js terminal pipe posix

如果我的程序是通过命令行传送给另一个程序的,那么还有什么方法可以让我确定它的宽度吗?

我在Node工作,如果相关,虽然任何一般的POSIX解决方案都是受欢迎的(我可以弄清楚如何将它移植到我的环境中。)目前,我可以使用{{1在Node中;但这与process.stdout.columns相关联,在这种情况下是{p}。

1 个答案:

答案 0 :(得分:2)

实际上,POSIX没有定义用于获取窗口大小的C ioctl调用(请参阅standard)。但TIOCGWINSZ调用(或类似TIOCGSIZE)广泛可用。节点可能依赖于它的检查。

此包检查标准输出的宽度,如果失败,则检查标准错误:window-size(参见source code)。

之前在 How wide is the node.js console?

中提出了类似的问题