-1

したがって、前景/背景色などの端末プロパティを変更するこの無限ループがあります。

仕様:CTRL+Cが押されると、ループ/スクリプトを終了する前に、端末を元のプロパティにリセットする必要があります。

CTRL+C今、トラップしてターミナルをリセットする必要があると思いますsetterm resetが、スクリプトに統合できないようです。

while ループの外側でをトラップするCTRL+Cと、端末はリセットされません。無限ループ内でも機能しません。

終了時に端末のプロパティは変更されたままです。

例:

    #!/bin/bash
    while true;
    do
    tput civis 
    tput bold 
    tput setb 2 
    tput setf 4  
    tput bold 
    tput 10 40; echo "hello"
    tput 11 40; echo "there"
    done

CTRL+Cをトラップし、端末をリセットして終了するにはどうすればよいですか?

4

1 に答える 1

0

気にしないでください..trap 'reset; exit' SIGINTループ内で使用すると、この問題が解決します。

于 2014-11-28T16:37:38.277 に答える