tput cols 在脚本中无法正常工作

jua*_*982 5 bash

我在脚本中使用“tput cols”,一切正常,除非窗口最大化。我的脚本能够正确获取任何窗口大小,但是当窗口最大化时,它会得到错误的值(80)。然后我直接在终端中输入“tput cols”,然后得到正确的大小(158)。所以我的问题是,即使窗口最大化,我怎样才能获得正确的值???

提前致谢

eph*_*ent 4

tput cols可能是从 shell 环境变量$COLUMNS而不是TIOCGWINSZioctl 读取。shell 可能会更新此变量以响应SIGWINCH,但这当然不会影响$COLUMNS脚本中的变量。

尝试unset COLUMNS查看是否tput cols从终端 ioctl 获取值。