【发布时间】:2020-03-26 00:17:35
【问题描述】:
我想为我的 sh/bash 脚本确定窗口中的列数。我现在使用tput cols,但我发现在某些平台(Synology)上tput 库不可用。
我知道这有一个 C 库,但二进制文件不是一个选项。
Python3 是一个选项,但我在帮助文件中没有找到任何内容...
tput cols 的替代品,如果可能的话......
【问题讨论】:
-
可以为特定 UNIX shell 编写答案,还是需要对所有这些shell 都有效?
-
也就是说,
sh/bash很像说C/C++--sh和bash是两种不同的语言;它们不是相互兼容的。 (bash 主要是 POSIX sh 规范的超集,但有一些地方即使在兼容模式下也违反了 POSIX sh 规范,并且正式不是有效的sh实现。 -
如果它适用于 python3 也适用的所有 sh-shell,那就太好了。
-
Python 甚至可以在根本没有安装 shell 的系统上工作。 :)——但我同意你的观点;这意味着简单的答案(涉及
SIGWINCH在 bash 上更新 shell 变量COLUMNS)不可用。 -
好的,Charles,但是你如何找出 Python 中的列数呢?