Answers:
终端参数存储为$LINES
和$COLUMNS
变量。
另外,您可以使用特殊的术语操作程序,例如tput
:
tput lines # outputs the number of lines of the present terminal window.
tput cols # outputs the number of columns of the present terminal window.
shopt -s checkwinsize
,这些选项已添加到我的/etc/bash.bashrc
文件中并带有注释:# check the window size after each command and, if necessary, update the values of LINES and COLUMNS.
此命令应为您提供终端上的行数:
stty size | cut '-d ' -f1
某些系统可能未实现,stty size
因此您可能需要这样的东西:
stty -a | tr \; \\012 | grep rows | tr -d ' rows'
tput lines
似乎是更好的答案,我对此表示赞同。我以前不知道
stty -a
用类似grep -Po 'rows \K[^;]*'
或sed -n 's/.*rows \([^;]*\).*/\1/p'
tput lines
是更好的方法,并且我认为它非常便携!
LINES
并且COLUMNS
仅由某些外壳设置。bash
设置它们,但仅用于交互式外壳程序(并且不导出它们)。