Hirdetés

Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Frawly

    veterán

    válasz Frawly #28056 üzenetére

    Erre is megvan a megoldás, ezzel a módszerrel:
    output=$(clear; do_a_lot_of_output_here)

    Arra kellett még figyelnem, hogy kiírás közben a kurzort el kell rejtenem egy escape szekvencia kiírásával, így már minden olyan, mint a watch parancsra, csak ki lehet lépni q billentyű lenyomására. A script végül így alakult:

    #!/bin/bash

    while true; do
    output=$(clear; cat /proc/cpuinfo | grep MHz; echo -e; sensors | grep -e '°C' -e 'RPM'; echo -e; free -wm; echo -e; uname -rom; echo -e; df -h | grep /dev/sd )
    echo -e "$output \n\e[?25l"
    read -n 1 -t 1.9 input
    if [[ $input = "q" ]] || [[ $input = "Q" ]]; then break; fi
    done

    @s1999xx: én is ezt a megoldást találtam meg végül. De nem baj, hogy betettem, mert kiegészítettem ezzel az \e[?25l szekvenciás kurzorelrejtéssel. Így már teljesen olyan, mint a watch parancs, aminek ezt alapból kéne tudnia, hogy a paraméterben beállított billentyű figyelésére is lépjen ki.

    [ Szerkesztve ]

Új hozzászólás Aktív témák