-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更新LINESしてから、をCOLUMNS受信するとSIGWINCH、を使用する代わりにそのシグナルをトラップすることもできますPROMPT_COMMANDSIGWINCHただし、たとえばウィンドウフレームをドラッグしてサイズを変更する場合、1つの端末のサイズ変更中にシェルが数回受信することがあります。したがって、設定の代わりPROMPT_COMMAND

trap 'check_terminal_size' WINCH
于 2013-03-20T14:54:05.253 に答える