How do I find the width & height of a terminal window?

前端 未结 9 1053
滥情空心
滥情空心 2020-12-04 04:33

As a simple example, I want to write a CLI script which can print = across the entire width of the terminal window.

#!/usr/bin/env php


        
9条回答
  •  执笔经年
    2020-12-04 05:17

    There are some cases where your rows/LINES and columns do not match the actual size of the "terminal" being used. Perhaps you may not have a "tput" or "stty" available.

    Here is a bash function you can use to visually check the size. This will work up to 140 columns x 80 rows. You can adjust the maximums as needed.

    function term_size
    {
        local i=0 digits='' tens_fmt='' tens_args=()
        for i in {80..8}
        do
            echo $i $(( i - 2 ))
        done
        echo "If columns below wrap, LINES is first number in highest line above,"
        echo "If truncated, LINES is second number."
        for i in {1..14}
        do
            digits="${digits}1234567890"
            tens_fmt="${tens_fmt}%10d"
            tens_args=("${tens_args[@]}" $i)
        done
        printf "$tens_fmt\n" "${tens_args[@]}"
        echo "$digits"
    }
    

提交回复
热议问题