如何在调整终端大小时运行fce_exitus
?
非常感谢您的帮助。
答案 0 :(得分:6)
您可以使用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
在收到LINES
后会更新COLUMNS
和SIGWINCH
,您也可以捕获该信号,而不是使用PROMPT_COMMAND
。但是,如果您通过拖动窗口框架调整大小,则在单个终端调整大小期间,shell可能会多次收到SIGWINCH
。因此,设置PROMPT_COMMAND
的替代方法是
trap 'check_terminal_size' WINCH