在 Ubuntu 23.10 中,无论终端大小如何echo -e "lines\ncols" | tput -S >/tmp/xx 2>&1,始终将“24\n80”写入文件。
的手册页tput说它连续测试 stderr、stdout、stdin 并最终测试"/dev/tty",但它似乎并没有真正使用上述命令尝试 /dev/tty ,因此产生了 24x80 的回退。
谁能指出问题所在吗?
(我重定向 stdout 和 stderr 的原因是某些版本的 BSD 将错误消息写入 stderr,并且我希望我的脚本即使在没有终端的情况下运行也保持静默 - 在这种情况下,默认 24x80 是正确的)。
command-line ×1