Acquire Terminal Width & Height
-
tput cols tput rows tput -S <<< cols tput -S <<< rows
-
stty size
-
echo $LINES echo $COLUMNS
LINES & COLUMNS are not environment variables, they are just normal variables to bash, It's only available in interactive shell
the checkwinsize option only initialize the variables after waiting for subshell to finish.
$LINES
and$COLUMNS
are updated afterSIGWINCH
is sent, actually after any interactive command execution. If you try to updatePS1
withtrap SIGWINCH
you can't use$LINES
and$COLUMNS
, they keep old values