2016. 10. 22. 00:45

iptables 내용 출력을 clear로 갱신하다가 깜빡임을 줄이고 싶어 검색했더니 역시나 있었다.

http://unix.stackexchange.com/questions/81167/prevent-text-screen-blinking-when-doing-clear



가운데 CMD 부분에 명령을 넣으면 된다.

# flicker less refresh script.
# http://unix.stackexchange.com/questions/81167/prevent-text-screen-blinking-when-doing-clear

#!/bin/sh
watchit() {
    HOME=$(tput cup 0 0)
    ED=$(tput ed)
    EL=$(tput el)
    ROWS=$(tput lines)
    COLS=$(tput cols)
    printf '%s%s' "$HOME" "$ED"
    while true
    do
        CMD="sudo iptables -L -n -v --line-numbers"
        ${SHELL:=sh} -c "$CMD" | head -n $ROWS | while IFS= read LINE; do
            printf '%-*.*s%s\n' $COLS $COLS "$LINE" "$EL"
        done
        printf '%s%s' "$ED" "$HOME"
        sleep 1
    done
}
watchit top -b -n 1



종료하면 문자가 그대로 남아있는채로 커서가 올라가는 것으로 보아 화면전체를 지우기 보다는 바뀐것만 치환하는 느낌인데... 분석해 봐야 할 것 같다.




Posted by 해비