-2

fce_exitus调整终端大小时如何运行?

非常感谢您的帮助。

4

1 回答 1

9

您可以使用PROMPT_COMMAND. 将以下内容放入您的.bashrc文件中:

check_terminal_size () {
    if [[ "$LINES $COLUMNS" != "$previous_lines $previous_columns" ]]; then
        fce_exitus
    fi
    previous_lines=$LINES
    previous_columns=$COLUMNS
}

PROMPT_COMMAND="check_terminal_size; $PROMPT_COMMAND"

由于bash更新LINESCOLUMNS接收时SIGWINCH,您还可以捕获该信号而不是使用PROMPT_COMMAND. 但是,例如,如果您通过拖动窗口框架来调整大小,您的 shell 可能会SIGWINCH在单个终端调整大小期间接收多次。所以设置的替代方法PROMPT_COMMAND

trap 'check_terminal_size' WINCH
于 2013-03-20T14:54:05.253 回答